swing的简单控件列表

 这几天学习了swing的简单方法,发现swing和android,c#,mfc有一种神相似,所以基本上就是过一遍,看一下具体的方法。通过一些小例子理解一下方法的用处。之后还要学习一下RCP,rcp主要是对swing的封装和组件的优化,在处理布局和页面时更加方便。

小例子主要是看的 www.yiibai.com/swing/

1.java.awt.Component类: public abstract class Component   extends Object非菜单用户界面控件 AWT Component 是抽象基类。组件表示图形表示的对象。protected Component() This creates a new Component.
2. java.awt.Container 类: public class Container   extends Component类容器是AWT容器的超类。容器对象可以包含其他AWT组件。Container() This creates a new Container.
3. javax.swing.JComponent类: public abstract class JComponent   extends Container Component类是除顶层容器外所有Swing组件的基类。要使用继承自JComponent 一个组成部分,必须把的容纳层次结构,其根是一个顶层 Swing 容器组件。
JComponent() Default JComponent constructor.
4.javax.swing.JLabel类: public class JLabel   extends JComponent  JLabel类可以显示文本,图像,或两者兼而有。标签的内容是一致的,通过设置在其显示区域中的垂直和水平位置。默认情况下,标签在其显示区域垂直居中。纯文字标签的前沿对齐,默认情况下,图像标签,默认情况下,水平居中。
5. javax.swing.JButton类 public class JButton   extends AbstractButton JButton类是一个实现按钮。这个组件有一个标签,按下时产生一个事件。它也可以有图片。
6. javax.swing.JColorChooser类:public class JColorChooser   extends JComponent  JColorChooser 类颜色选择器提供了一个窗格设计,让用户操作和选择颜色的控制。
7.javax.swing.JCheckBox类: public class JCheckBox   extends JToggleButton  JCheckBox的类是一个实现一个复选框 - 可以选择或取消选择一个项目,其状态显示给用户。
8.javax.swing.JList类的声明:public class JList   extends JComponent  JList中 类是一个组件,它显示的对象的列表,并允许用户选择一个或多个项目。一个单独的模型ListModel维护的内容列表。

9.JScrollPane的简单用法!带有滚动条的面板容器,在内部放置数据(such as:JList)  

 final JList<String> fruitList = new JList<String>(fruitsName);

JScrollPane fruitListScrollPane = new JScrollPane(fruitList); 

定义实例:JScrollPane jsp=new JScrollPane(某个继承自JPanel类的实例 pane);设置初始大小:jsp.setPreferredSize(new Dimension(200,200));
10.javax.swing.JComboBox类:public class JComboBox   extends JComponent  JComboBox类是一个组件,它结合了一个按钮或可编辑字段与下拉列表。

11.javax.swing.JTextField 类:public class JTextField   extends JTextComponent  JTextField类是一个组件,它允许编辑一个单行文本  final JTextField userText = new JTextField(6); 

 final passwordText = new JPasswordField(6);  6 为文本框长度;  

 JTextField ==input文本框 userText.getText(); JPasswordField 为自带密码隐藏的文本框 

new String(passwordText.getPassword());  得到的是字符数组,需要转化为字符串

12. javax.swing.JTextArea类:public class JTextArea   extends JTextComponent JTextArea类是一个多行区域以显示纯文本。 一般放在JScrollPane中
13. javax.swing.ImageIcon类:public class ImageIcon   extends Object   ImageIcon类是一个实现从图像绘制图标的图标界面。
  private static ImageIcon createImageIcon(String path, String description) {
      java.net.URL imgURL = SwingControlDemo.class.getResource(path);
      if (imgURL != null) {
         return new ImageIcon(imgURL, description);
      } else {            
         System.err.println("Couldn't find file: " + path);
         return null;
      }
   }
   ImageIcon icon = createImageIcon("/resources/java_icon.png","Java");
      JLabel commentlabel = new JLabel("", icon,JLabel.CENTER);
14.javax.swing.JScrollBar类的声明:public class JScrollBar   extends JComponent  JScrollBar类实现滚动。
JScrollBar horizontalScroller = new JScrollBar(JScrollBar.HORIZONTAL);
 verticalScroller.setOrientation(JScrollBar.VERTICAL);
15. javax.swing.JOptionPane类: public class JOptionPane   extends JComponent JOptionPane 类一个组件,它提供了标准的方法,弹出一个标准的对话框,或者通知用户的东西。
对话框:  JOptionPane.showMessageDialog(mainFrame, "Welcome to TutorialsPoint.com");
int output = JOptionPane.showConfirmDialog(mainFrame, "Click any button","TutorialsPoint.com",JOptionPane.YES_NO_OPTION);
            if(output == JOptionPane.YES_OPTION){
               statusLabel.setText("Yes selected.");
            }else if(output == JOptionPane.NO_OPTION){
               statusLabel.setText("No selected.");
            }
16. javax.swing.JFileChooser类:public class JFileChooser   extends JComponent JFileChooser类是一个组件,它提供了一种简单的机制,用户可以选择一个文件。
17. javax.swing.JProgressBar类:public class JProgressBar   extends JComponent JProgressBar类是一个组件,它可视地显示某些任务的进度。利用线程实时设置progressBar的value
18.javax.swing.JSlider类: public class JSlider   extends JComponent JSlider 类是一个组件,它可以让用户以图形方式选择一个值,有界区间内通过滑动旋钮。
19. javax.swing.JSpinner类: public class JSlider   extends JComponent (区间取值)JSpinner类是一个组件,它可以让用户选择一个数字或者一个对象值从一个有序的序列使用一个输入字段中。
20.java.util.EventListener接口:它是一个标记接口,每一个监听器接口扩展。这个类定义在java.util包
ActionListener 该接口用于接收动作事件。 ComponentListener  该接口用于接收组件事件。
21.Adapter适配器是抽象类,用于接收各种事件。这些类中的方法是空的。这些类存在的目的是方便创建监听器对象。
22.Layout布局的意味着,在容器内的配置的组件。在其他的方式,我们可以认为在一个特定的容器内的位置放置组件。布局管理器所控制布点的任务是自动完成的。
BorderLayout:将组件安排为适合五个区域:东,西,北,南和中心。每个区域只能包含一个组件,每个组件在每个区域确定相应的固定
BorderLayout layout = new BorderLayout();       layout.setHgap(10);       layout.setVgap(10);       panel.setLayout(layout);    
CardLayout对象将容器中的每个组件视为卡片。 在一个时间内只有一张卡是可见,与容器作为将整叠卡片
 CardLayout layout = new CardLayout();
      layout.setHgap(10);
      layout.setVgap(10);
      panel.setLayout(layout);        
      JPanel buttonPanel = new JPanel(new FlowLayout());
      buttonPanel.add(new JButton("OK"));
      buttonPanel.add(new JButton("Cancel"));    
      JPanel textBoxPanel = new JPanel(new FlowLayout());
      textBoxPanel.add(new JLabel("Name:"));
      textBoxPanel.add(new JTextField(20));
      panel.add("Button", buttonPanel);
      panel.add("Text", textBoxPanel);
FlowLayout是默认的布局。它以定向流程布局组件,让组件在左到右的流动布局。
。GridLayout以矩形网格的形式管理组件。将组件排列在一个长方形可设置的网格。
GridBagLayout的对象垂直,水平或沿着它们的基线对齐组件,而不需要相同大小的组件。
GroupLayout将组件分层分组,以便将它们放置在Container中。排列形式层次落错
23. java.awt.LayoutManager接口:public interface LayoutManager  LayoutManager接口知道如何布局容器类,用于定义接口。
java.awt.LayoutManager2接口:public interface LayoutManger2   extends LayoutManager   是用来定义的接口的类知道如何布置根据布局约束对象的容器的LayoutManger接口。
24.javax.swing.JMenuBar类:public class JMenuBar   extends JComponent  JMenuBar类提供了一个菜单栏的实现
 javax.swing.JMenuItem类:public class JMenuItem   extends AbstractButtonJMenuItem类代表实际的菜单中的项目。菜单中的所有项目应JMenuItem的类或它的
一个子类派生。默认情况下,它体现了一种简单的标记的菜单项。
javax.swing.JMenu类:public class JMenu   extends JMenuItem 菜单类表示这是从菜单栏部署的下拉菜单组件。
 JMenuBar menuBar =  new  JMenuBar();
  JMenu fileMenu = new JMenu("File");
 JMenuItem newMenuItem = new JMenuItem("New");
  fileMenu.add(newMenuItem);
 menuBar.add(fileMenu);
  mainFrame.setJMenuBar(menuBar);
25.javax.swing.JCheckBoxMenuItem类:public class JCheckBoxMenuItem   extends JMenuItem  JCheckBoxMenuItem类代表一个复选框,可以包含在一个菜单。选中该复选框菜单更改控制的状态中,从开到关或从关到开。
26.javax.swing.JRadioButtonMenuItem类:public class JRadioButtonMenuItem   extends JMenuItem  JRadioButtonMenuItem对象类代表一个复选框,可以包含在一个菜单。选中该复选框菜单更改控制的状态中,从开到关或从关到开。
27. javax.swing.JPopupMenu类: public class JPopupMenu   extends JComponent  弹出菜单表示可以在一个组件内的指定位置动态弹出的菜单。
 javax.swing.JPopupMenu editMenu = new javax.swing.JPopupMenu("Edit"); 
 JMenuItem cutMenuItem = new JMenuItem("Cut");
editMenu.add(cutMenuItem);
editMenu.show(mainFrame, e.getX(), e.getY());
28.javax.swing.JPanel 类的声明:public class JPanel   extends JComponent  JPanel类是一个通用的轻量级容器。JPanel是最简单的容器。它提供了空间,在其中可以放置任何其他组件,包括其他面板。
29. javax.swing.JFrame类: public class JFrame   extends Frame   JFrame是一个顶层的窗口标题和边框,是一个扩展版java.awt.Frame添加JFC/Swing组件架构的支持。
30. javax.swing.JWindow类: public class JWindow   extends Window   JWindow对象是一个没有边界和菜单栏的顶层窗口。是一个容器,可以显示,但不具有标题栏或窗口管理按钮。显示在frame中,会覆盖其他元素控件

猜你喜欢

转载自blog.csdn.net/qq_21325705/article/details/79911017