java中对话框例子的讲解
来源:互联网 发布:centos git 配置 编辑:程序博客网 时间:2024/05/09 01:47
源代码参考:
public Object getMessage() { Strings = messagePanel.getSelection(); if(s.equals("String")) return messageString; elseif (s.equals("Icon")) return messageIcon; elseif (s.equals("Component")) return messageComponent; elseif (s.equals("Object[]")) return new Object[] { messageString,messageIcon, messageComponent, messageObject }; elseif (s.equals("Other")) return messageObject; elsereturn null; }
public Object[] getOptions() { Strings = optionsPanel.getSelection(); if(s.equals("String[]")) return new String[] { "Yellow", "Blue","Red" }; elseif (s.equals("Icon[]")) return new Icon[] { newImageIcon("yellow-ball.gif"), newImageIcon("blue-ball.gif"), new ImageIcon("red-ball.gif") }; elseif (s.equals("Object[]")) return new Object[] { messageString,messageIcon, messageComponent, messageObject }; elsereturn null; }
public int getType(ButtonPanel panel) { Strings = panel.getSelection(); try { returnJOptionPane.class.getField(s).getInt(null); } catch(Exception e) { return -1; } }
private class ShowAction implementsActionListener { publicvoid actionPerformed(ActionEvent event) { if (typePanel.getSelection().equals("Confirm"))JOptionPane.showConfirmDialog( OptionDialogFrame.this, getMessage(), "Title",getType(confirmPanel), getType(messageTypePanel)); else if(typePanel.getSelection().equals("Input")) { if(inputPanel.getSelection().equals("Text field"))JOptionPane.showInputDialog( OptionDialogFrame.this, getMessage(), "Title",getType(messageTypePanel)); elseJOptionPane.showInputDialog(OptionDialogFrame.this, getMessage(),"Title", getType(messageTypePanel), null, new String[] {"Yellow", "Blue", "Red" }, "Blue"); } else if(typePanel.getSelection().equals("Message"))JOptionPane.showMessageDialog( OptionDialogFrame.this, getMessage(), "Title",getType(messageTypePanel)); else if(typePanel.getSelection().equals("Option"))JOptionPane.showOptionDialog( OptionDialogFrame.this, getMessage(), "Title",getType(confirmPanel), getType(messageTypePanel), null, getOptions(),getOptions()[0]); } }
public void paintComponent(Graphicsg) { Graphics2D g2 = (Graphics2D) g; Rectangle2D rect = new Rectangle2D.Double(0, 0,getWidth() - 1, getHeight() - 1); g2.setPaint(Color.YELLOW); g2.fill(rect); g2.setPaint(Color.BLUE); g2.draw(rect); }
public Dimension getPreferredSize() { returnnew Dimension(10, 10); }
package optionDialog;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.Rectangle2D;
import java.util.Date;
import javax.swing.*;
public class OptionDialog {
public static void main(String[] args) {
OptionDialogFrame odf=new OptionDialogFrame();
odf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
odf.setVisible(true);
odf.setTitle("OptionDialogFrame");
}
}
class OptionDialogFrame extends JFrame{
private ButtonPanel typePanel;
private ButtonPanel messageTypePanel;
private ButtonPanel messagePanel;
private ButtonPanel confirmPanel;
private ButtonPanel optionsPanel;
private ButtonPanel inputPanel;
private String messageString = "Message";
private Icon messageIcon = newImageIcon("blue-ball.gif");
private Object messageObject = new Date();
private Component messageComponent = newSampleComponent();
public OptionDialogFrame(){
JPanel gridPanel=new JPanel();
gridPanel.setLayout(new GridLayout(2,3));
typePanel=newButtonPanel("Type","Message","Confirm","Option","Input");
messageTypePanel=new ButtonPanel("MessageType","ERROR_MESSAGE","INFORMATION_MESSAGE","WATNING_MESSAGE","QUESTION_MESSAGE","PLAIN_MESSAGE");
messagePanel=newButtonPanel("Message","String","Icon","Component","Other","Object[]");
confirmPanel=newButtonPanel("Confirm","DEFAULT_OPTION","YES_NO_OPTION","YES_NO_CANCEL_OPTION","OK_CANCEL_OPTION");
optionsPanel=newButtonPanel("Option","String[]","Icon[]","Object[]");
inputPanel=new ButtonPanel("Input","Text field","Combobox");
gridPanel.add(typePanel);
gridPanel.add(messageTypePanel);
gridPanel.add(messagePanel);
gridPanel.add(confirmPanel);
gridPanel.add(optionsPanel);
gridPanel.add(inputPanel);
JPanel showPanel=new JPanel();
JButton showButton=new JButton("Show");
showButton.addActionListener(new ShowAction());
showPanel.add(showButton);
add(gridPanel,BorderLayout.CENTER);
add(showPanel,BorderLayout.SOUTH);
pack();
}
}
class SampleComponent extends JComponent
{
}
class ButtonPanel extends JPanel{
private ButtonGroup group;
public ButtonPanel(String title,String... options){
setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),title));
//设置单个面板内的组件垂直
setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
group=new ButtonGroup();
for (String option: options) {
JRadioButton b=new JRadioButton(option);
b.setActionCommand(option);
add(b);
group.add(b);
b.setSelected(option==options[0]);
}
}
public String getSelection(){
return group.getSelection().getActionCommand();
}
}
0 0
- java中对话框例子的讲解
- java中正则表达式的例子讲解
- vc中建立非模态对话框的例子
- vc中建立非模态对话框的例子
- Java多线程例子讲解
- Java中对话框的弹出
- Java中,Iterator的讲解
- Java中,ArrayList的讲解
- Java中,HashMap的讲解
- JAVA中,instanceof的讲解
- java中voliate的讲解
- android中service的使用方法-小例子讲解
- 关于matlab中princomp的使用说明讲解小例子
- java中Runtime的例子
- Java中配置文件的例子
- NS3的Callback例子讲解
- Java中关于弹出对话框的问题
- Java中关于弹出对话框的问题
- java中菜单创建,复合框和单选,弹…
- java中如何添加工具栏
- java中EventHandler的详细用法
- java中GridBagLayout例子的详细讲…
- Spring AOP的自动代理
- java中对话框例子的讲解
- java中创建简单的对话框和数据交换
- 侧滑菜单SliderMenu
- java建立一个简单的图片浏览器
- java中的颜色选择器的使用
- eclipse生成可执行jar包
- java数据类型转换小总结
- 我的第一个Android应用程序HelloWorld
- 程序员的样子