java中用户界面组件中滑动条的应用
2016-09-23 20:07
190 查看
总结:学会使用GridBagLayout包,JSlider中的方法
void setPaintTicks(boolean b) 如果为true,则显示尺标
void setMajorTickSpacing(int units)
void setMinorTickSpacing(int units)
用给定的滑动条单位的倍数设置大小尺标
void setLabelTable(Dictionary table)
设置用于作为标尺标签的组件。表中每一个键/值对都采用new
Integer(value)/component的格式
void setSnapToTick(boolean b)
每次调整后滑块都要对齐最接近的标尺处
void setPaintTrack(boolean b)
显示滑块滑动的轨迹
java.awt
类 GridBagConstraints
java.lang.Object java.awt.GridBagConstraints
所有已实现的接口:
Serializable, Cloneable
public class GridBagConstraints
extends Object
implements Cloneable,
Serializable
GridBagConstraints类指定使用
GridBagLayout
类布置的组件的约束。
例子源代码:
package silderFrame;
import java.awt.BorderLayout;
import java.awt.*;
import java.awt.TextField;
import java.util.Dictionary;
import java.util.Hashtable;
import javax.swing.*;
import javax.swing.event.*;
public class SliderFrameDemo {
public static void main(String[] args) {
SliderFrame sf=new SliderFrame();
sf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
sf.setTitle("SliderFrame");
sf.setVisible(true);
}
}
class SliderFrame extends JFrame{
private ChangeListener listener;
private JTextField textField;
private JPanel sliderPanel;
public SliderFrame(){
//setSize(400,300);
sliderPanel=new JPanel();
sliderPanel.setLayout(new GridBagLayout());
listener=new ChangeListener(){
public void stateChanged(ChangeEvent event){
JSlider source=(JSlider)event.getSource();
textField.setText(""+source.getValue());
}
};
JSlider slider=new JSlider();
addSlider(slider,"Plain");
slider=new JSlider();
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
slider.setPaintTicks(true);
addSlider(slider,"Ticks");
slider=new JSlider();
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
slider.setSnapToTicks(true);
slider.setPaintTicks(true);
addSlider(slider,"Snap to ticks");
slider=new JSlider();
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
slider.setPaintTicks(true);
slider.setPaintTrack(false);
addSlider(slider,"No Track");
slider=new JSlider();
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
slider.setPaintTicks(true);
slider.setInverted(true);
addSlider(slider,"Inverted");
//设置滑动条
slider=new
JSlider(0,100,50);
//上述滑动条没20个单位显示一个大标尺标记,没5个单位显示一个小标尺标记
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
//将标记显示出来
slider.setPaintTicks(true);
//移动滑动条后自动移到最接近标尺处
slider.setSnapToTicks(true);
//为滑动条显示一个标记标签0,20,40,60,80,100
slider.setPaintLabels(true);
addSlider(slider,"labels");
slider=new JSlider();
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(5);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
Dictionary labelTable=new Hashtable<>();
labelTable.put(0, new JLabel("A"));
labelTable.put(20, new JLabel("B"));
labelTable.put(40, new JLabel("C"));
labelTable.put(60, new JLabel("D"));
labelTable.put(80, new JLabel("E"));
labelTable.put(100, new JLabel("F"));
slider.setLabelTable(labelTable);
addSlider(slider,"Custom labels");
//显示一个垂直的滑动条
//add the text field that displays the slider value
textField=new JTextField();
add(sliderPanel);
add(textField,BorderLayout.SOUTH);
pack();
}
public void addSlider(JSlider s,String description){
s.addChangeListener(listener);
JPanel panel=new JPanel();
panel.add(s);
panel.add(new Label(description));
//设置组件垂直对齐
panel.setAlignmentX(Component.LEFT_ALIGNMENT);
GridBagConstraints gbc=new GridBagConstraints();
//GridBagConstraints 类指定使用 GridBagLayout
类布置的组件的约束。
gbc.gridy=sliderPanel.getComponentCount();
gbc.anchor=GridBagConstraints.WEST;
sliderPanel.add(panel,gbc);
}
}
相关文章推荐
- Portal-Basic Java Web 应用开发框架:应用篇(六) —— 公共组件
- Java 文件上传组件 Apache Commons FileUpload 应用
- Java开发实用工具及组件应用
- 【Android应用开发技术:用户界面】视图组件View
- 【Java Swing探索之路系列】之四:Java Swing用户界面组件(一)
- 用JAVA写的简易QQ登陆界面(AWT组件的综合应用)
- Java 文件上传组件 Apache Commons FileUpload 应用指南(二)——FileUpload如何工作?
- Java学习笔记--Swing用户界面组件
- java_swing_窗体风格_简单组件应用1
- 应用jacob组件造成的内存溢出解决方案(java.lang.OutOfMemoryError: Java heap space)
- Java 文件上传组件 Apache Commons FileUpload 应用指南
- Java开发实用工具及组件应用(JFreeChart、PDF组件-iText、jasper report报表、Maven)
- Java开发工具及组件应用视频教程
- JAVA自学-Swing用户界面组件
- JFreeChart开源图表组件在Java开发中的应用(二)
- Java 文件上传组件 Apache Commons FileUpload 应用
- Java开发实用工具及组件应用视频教程
- Java 文件上传组件 Apache Commons FileUpload 应用指南(二)——FileUpload如何工作?
- 软件开发工程师(JAVA)中级考试大纲之--五 J2EE WEB高级组件开发--(三)Tomcat服务器的环境及配置;应用发布和数据源配置;
- java的GUI基本组件的简单应用