📄 threepanels.java
字号:
package examples.awt;
import java.awt.*;
import java.awt.event.*;
/** An example class used to demonstrate the basics of
* creating components such as panels, arranging
* components using layout objects, and nesting
* components inside each other.
*/
public class ThreePanels extends Frame {
private Panel upper, middle, lower;
private TextField text;
private Button black, red, green;
private Checkbox disable;
/** Class constructor method
* @param titleText Window's title bar text
*/
public ThreePanels( String titleText ) {
super( titleText );
setLayout( new BorderLayout() );
addWindowListener( new WindowAdapter() {
/** End the program when the user
* closes the window
*/
public void
windowClosing( WindowEvent e ) {
ThreePanels.this.dispose();
System.exit( 0 );
}
}
);
upper = new Panel();
upper.setLayout( new BorderLayout() );
text = new TextField(
"Change the color of this text" );
upper.add( text, BorderLayout.CENTER );
middle = new Panel();
middle.setLayout( new FlowLayout(
FlowLayout.CENTER ) );
black = new Button( "Black" );
black.addActionListener(
new ButtonListener( Color.black ) );
middle.add( black );
red = new Button( "Red" );
red.addActionListener(
new ButtonListener( Color.red ) );
middle.add( red );
green = new Button( "Green" );
green.addActionListener(
new ButtonListener( Color.green ) );
middle.add( green );
lower = new Panel();
lower.setLayout( new FlowLayout(
FlowLayout.RIGHT ) );
disable = new Checkbox( "Disable changes" );
disable.addItemListener( new ItemListener() {
/** Disable and enable the buttons
*/
public void
itemStateChanged( ItemEvent e ) {
boolean enabled
= ( e.getStateChange()
== ItemEvent.DESELECTED );
black.setEnabled( enabled );
red.setEnabled( enabled );
green.setEnabled( enabled );
}
}
);
lower.add( disable );
add( upper, BorderLayout.NORTH );
add( middle, BorderLayout.CENTER );
add( lower, BorderLayout.SOUTH );
pack();
setVisible( true );
}
class ButtonListener implements ActionListener {
private Color c;
/** Class constructor
* @param c the color for this button
*/
public ButtonListener( Color c ) {
this.c = c;
}
/** Respond to the action events
* @param e The click event
*/
public void actionPerformed( ActionEvent e ) {
text.setForeground( c );
}
}
/** The test method for the class
* @param args not used
*/
public static void main( String[] args ) {
new ThreePanels( "Three Panels Sample" );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -