📄 scrollbardemo.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ScrollBarDemo extends JFrame
implements AdjustmentListener{
//创建水平和重直滚动条
JScrollBar vScb = new JScrollBar(JScrollBar.VERTICAL,0,0,0,100);
JScrollBar hScb = new JScrollBar(JScrollBar.HORIZONTAL,0,0,0,100);
JPanel panel = new JPanel();
GridBagLayout Layout=new GridBagLayout();
GridBagConstraints constraints=new GridBagConstraints();
JLabel lbVScrollBar =new JLabel("重直滚动条的值",JLabel.CENTER);
JLabel lbHScrollBar=new JLabel("水平滚动条的值",JLabel.CENTER);
JTextField tfVScrollBar=new JTextField();
JTextField tfHScrollBar=new JTextField();
public ScrollBarDemo() {
super("滚动条示例");
setSize(260,200);
this.getContentPane().setLayout(new BorderLayout());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//以设定的网格包布局向面板中添加组件
private void addComponent(JPanel panel,GridBagLayout Layout,
GridBagConstraints gbc,Component com,int row,int column,
int numRows,int numColumns,int Weightx,int Weighty){
gbc.gridx=row;
gbc.gridy=column;
gbc.gridwidth=numRows;
gbc.gridheight=numColumns;
gbc.weightx=Weightx;
gbc.weighty=Weighty;
Layout.setConstraints(com,gbc);
panel.add(com);
}
public void setLayout(){
panel.setLayout(Layout);
constraints.anchor=GridBagConstraints.CENTER;
constraints.fill=GridBagConstraints.HORIZONTAL;
//以网格布局向面板添回文本框和标签组件
addComponent(panel,Layout,constraints,lbHScrollBar,0,0,1,1,20,0);
addComponent(panel,Layout,constraints,tfHScrollBar,1,0,1,1,80,100);
addComponent(panel,Layout,constraints,lbVScrollBar,0,1,1,1,20,0);
addComponent(panel,Layout,constraints,tfVScrollBar,1,1,1,1,80,100);
//将面板panel、水平和重直滚动条添加到框架中
this.getContentPane().add(panel, BorderLayout.CENTER);
this.getContentPane().add(vScb, BorderLayout.EAST);
this.getContentPane().add(hScb, BorderLayout.SOUTH);
//注册事件监听器
vScb.addAdjustmentListener(this);
hScb.addAdjustmentListener(this);
}
public static void main(String[] args) {
ScrollBarDemo frame = new ScrollBarDemo();
frame.setLayout();
frame.show();
}
public void adjustmentValueChanged(AdjustmentEvent e) {
if(e.getSource()==hScb){
//获取水平滚动条的值,在相应的文本框中显示。
tfHScrollBar.setText(String.valueOf(hScb.getValue()));
}
if(e.getSource()==vScb){
//显示重直滚动条的当前值
tfVScrollBar.setText(String.valueOf(vScb.getValue()));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -