⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kawtdemo.java

📁 J2ME核心类及MIDlet类 MIDP用户界面对象 图形处理及低级事件处理 多线程编程 I/O及网络编程 数据库RMS编程 浮点数编程 多媒体及GAME API编程 安全、加密及
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import de.kawt.*;

public class KawtDemo extends KAWTlet implements ActionListener {

	class LayoutPanel extends Panel implements ActionListener {
		
		LayoutManager saveBorder;
		KAWTlet kawtlet;
		
		LayoutPanel () {
			
			super (new BorderLayout ());
			
			addButton ("North", "grid");
			addButton ("West", "exit");
			addButton ("Center", "dialog");
			addButton ("East", "flow");
			addButton ("South", "border");
			saveBorder = getLayout ();
			validate ();
		}

		void addButton (String where, String label) {
			Button b = new Button (label);
			add (where, b);
			b.addActionListener (this);
			b.setActionCommand (label);
		}
	
		public void actionPerformed (ActionEvent e) {
			String cmd = e.getActionCommand ();
			if (cmd.equals ("grid")) 
				setLayout (new GridLayout (3, 2));
			else if (cmd.equals ("flow"))
				setLayout (new FlowLayout ());
			else if (cmd.equals ("border"))
				setLayout (saveBorder);
			else if (cmd.equals ("dialog")) {
				if (OptionDialog.showConfirmDialog 
					(frame, "Do you like kAWT?", "Sample Dialog") 
					== OptionDialog.NO_OPTION)
					OptionDialog.showInputDialog 
						(frame, "Why don't you like it?");
				}
				else if (cmd.equals ("exit")) { 
					notifyDestroyed ();
			}
			validate ();
		}
	} 
	

	class MiscPanel extends Panel implements ActionListener, ItemListener { 
		
		Checkbox checkBox1;
		Checkbox checkBox2;
		Checkbox titlebox;
		TextField tf;

		MiscPanel () {
			super (new GridLayout (0, 1));

			CheckboxGroup group = new CheckboxGroup ();
			
			checkBox1 = new Checkbox ("Public text", false, group);
			checkBox1.addItemListener (this);
			checkBox2 = new Checkbox ("Hidden text", false, group);
			checkBox2.addItemListener (this);
			
			add (checkBox1); 
			add (checkBox2);
			
			titlebox = new Checkbox ("Show Frame Title", true);
			titlebox.addItemListener (this);
			add (titlebox);
		
			tf = new TextField ("Test");
			add (tf);
			
			Choice choice = new Choice ();
			choice.add ("red");
			choice.add ("green");
			choice.add ("blue");
			add (choice);
			addButton ("beep");
			addButton ("exit");
		}
	
		void addButton (String label) {
			Button b = new Button (label);
			add (b);
			b.addActionListener (this);
			b.setActionCommand (label);
		}
		
		public void itemStateChanged (ItemEvent ev) {
		
			if (ev.getSource () == titlebox) {
				
				if (ev.getStateChange () == ev.SELECTED) 
					frame.setTitle ("kAWT Demo v0.9903");
				else 
					frame.setTitle (null);

				//getFrame ().validate ();	
			}
			else if (ev.getStateChange () == ev.SELECTED) {
				tf.setEchoChar (ev.getSource () == checkBox2 ? '*' : '\0');
				tf.setText (tf.getText ());
			}
		}
	
	
		public void actionPerformed (ActionEvent ev) {
			if (ev.getActionCommand ().equals ("beep")) {
				Toolkit.getDefaultToolkit ().beep ();
			}
			else {
				destroyApp (true);
				notifyDestroyed ();
			}
		}
	}

	class ScrollbarPanel extends Panel implements ActionListener {

		ScrollbarPanel () {
			super (new BorderLayout ());
			
			Panel center = new Panel (new GridLayout (0, 2));
			
			java.awt.List list = new java.awt.List ();
			
			for (int i= 0; i < 16; i++)	
				list.add ("item "+i);
			
			center.add (list);

			TextArea ta = new TextArea ();
			
			ta.setText ("This is an example of a simple TextArea with automatic word wrapping in this text block and some hard line breaks below.\n01\n02\n03\n04\n05\n06\n07\n08\n09\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n");
		
			center.add (ta);
			
			Button exitB = new Button ("exit");
			exitB.addActionListener (this);
			exitB.setActionCommand ("exit");
			add ("Center", center);
			add ("South", exitB);
			validate ();
		}
	

		public void actionPerformed (ActionEvent e) {
			String cmd = e.getActionCommand ();
			if (cmd.equals ("exit")) {
				destroyApp (true);
				notifyDestroyed ();
			}
		}
	}
	

	Frame frame = new Frame ("kAWT Demo v1.0");;
	Dialog dialog;
	TabbedPane tabPane;

	public KawtDemo () {
		MenuBar menuBar = new MenuBar ();
		Menu menu = new Menu ("Info");
		MenuItem mi = new MenuItem ("About kAWT");
		mi.addActionListener (this);
		menu.add (mi);

		mi = new MenuItem ("Memory");
		mi.addActionListener (this);
		menu.add (mi);

		menuBar.add (menu);

		menu = new Menu ("Tabs");

		for (int i = 1; i <= 3; i++) {
			mi = new MenuItem ("Tab "+i);
			mi.addActionListener (this);
			menu.add (mi);
		}
		menuBar.add (menu);
		
		frame.setMenuBar (menuBar);
		
		tabPane = new TabbedPane();
		tabPane.addTab ("Layout", new LayoutPanel ());
		//tabPane.addTab ("Color", new MemPanel ());
		tabPane.addTab ("Scroll", new ScrollbarPanel ());
		tabPane.addTab ("Misc", new MiscPanel ());
		frame.add ("Center", tabPane);
		
		//getRootPane ().add ("Center", new LayoutPanel ());

		frame.addWindowListener (new Closer (this));

		frame.pack ();
	}

	public void startApp () {
		frame.show ();
	}


	public void destroyApp (boolean uncond) {
		frame.dispose ();
	}
	


	public void actionPerformed (ActionEvent e) {
		String cmd = e.getActionCommand ();
		if (cmd.equals ("About kAWT")) {
			OptionDialog.showMessageDialog 
			(frame, "For information about kAWT, please visit\nhttp://www.kawt.de");
		}
		else if (cmd.equals ("Memory")) {
			int count = 0;
			long free0 = Runtime.getRuntime().freeMemory ();
			long free = free0;
			while (true) {
				Runtime.getRuntime().gc();
				long newFree = Runtime.getRuntime().freeMemory ();
				if (newFree <= free) break;
				count ++;
				free = newFree;
			}
			OptionDialog.showMessageDialog 
			(frame, "ini: "+free0+"\ngc"+count+": "+free);
		}
		else {
			int nr = Integer.parseInt (cmd.substring (4));
			tabPane.setSelectedIndex (nr-1);
		}
	}

	public static void main (String [] argv) {
		new KawtDemo ().startApp ();
	}
	
}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -