LogFrame.java
上传用户:kyckim
上传日期:2007-12-11
资源大小:332k
文件大小:2k
源码类别:

通讯/手机编程

开发平台:

Java

  1. package Pihatonttu;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. public class LogFrame extends JPanel {
  6. private DefaultListModel listModel = new DefaultListModel();
  7. private JFrame frame;
  8. LogFrame() {
  9. super(new BorderLayout());
  10. JList list = new JList(listModel);
  11. list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  12. list.setSelectedIndex(0);
  13. JScrollPane listScrollPane = new JScrollPane(list);
  14. listScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
  15. listScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  16. listScrollPane.setPreferredSize(new Dimension(600, 300));
  17. add(listScrollPane);
  18. JFrame.setDefaultLookAndFeelDecorated(true);
  19. frame = new JFrame("Pihatonttu Proxy");
  20. frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
  21. frame.setIconImage(PihatonttuMain.normalIcon.getImage());
  22. JComponent newContentPane = this;
  23. newContentPane.setOpaque(true);
  24. frame.setContentPane(newContentPane);
  25. frame.pack();
  26. }
  27. public void showLog() {
  28. if (frame.isVisible()){
  29. frame.toFront();
  30. return;
  31. }
  32. frame.setVisible(true);
  33. }
  34. public void addElement(final String element) {
  35. javax.swing.SwingUtilities.invokeLater(new Runnable() {
  36. public void run() {
  37. listModel.addElement(element);
  38. }
  39. });
  40. }
  41. public void addElementFraction(final String element) {
  42. javax.swing.SwingUtilities.invokeLater(new Runnable() {
  43. public void run() {
  44. listModel.removeElementAt(listModel.size()-1);
  45. listModel.addElement(element);
  46. }
  47. });
  48. }
  49. public void clear() {
  50. javax.swing.SwingUtilities.invokeLater(new Runnable() {
  51. public void run() {
  52. listModel.clear();
  53. }
  54. });
  55. }
  56. }