我想要把下面的程序发生如下效果:点击格式-字体-yes按钮之后,text2会显示“进行了更换字体操作”这句话,但是无论如何都没法实现,请问能做到吗?
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class Window extends JFrame implements ActionListener{
JMenuBar menubar;
JMenu menu3;
JMenuItem itemScript;
JTextArea text1,text2;
JSplitPane split;
Window(String s){
setTitle(s);
menubar=new JMenuBar();
menu3=new JMenu("格式");
itemScript=new JMenuItem("字体");
menu3.add(itemScript);
menubar.add(menu3);
setJMenuBar(menubar);
text1=new JTextArea();
text2=new JTextArea();
JScrollPane info=new JScrollPane();
info.getViewport().add(text1);
JScrollPane send=new JScrollPane();
send.getViewport().add(text2);
split=new JSplitPane(JSplitPane.VERTICAL_SPLIT,false,info,send);
add(split);
split.setDividerLocation(getBounds().height-200);
this.addComponentListener(new ComponentAdapter(){
public void componentResized(ComponentEvent e){
split.setDividerLocation(getBounds().height-200);
}
});
setSize(800, 600);
itemScript.addActionListener(this);
setVisible(true);
Dimension frameSize=getSize();
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screenSize.width-frameSize.width)/2, (screenSize.height-frameSize.height)/2);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==itemScript){
Script script=new Script();
if(script.getNum()==Script.YES){
text2.append("进行了更换字体操作\n");
}
}
}
}
class Script extends JDialog implements ActionListener {
final static int YES = 1,NO = 0;
JButton yes,no;
JPanel confirmPanel;
int num=10;
public Script() {
setTitle("字体设置");
yes=new JButton("Yes");
yes.addActionListener(this);
no=new JButton("No");
no.addActionListener(this);
confirmPanel=new JPanel();
confirmPanel.setLayout(new FlowLayout());
confirmPanel.add(yes);
confirmPanel.add(no);
Container container = getContentPane();
container.setLayout(new BorderLayout());
container.add(confirmPanel,BorderLayout.CENTER);
setSize(500, 300);
setVisible(true);
}
public int getNum(){
return num;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==yes){
num=YES;
setVisible(false);
}
if(e.getSource()==no){
num=NO;
setVisible(false);
}
}
}
public class MyWin {
public static void main(String[] args) {
Window myWin=new Window("新建文本编辑器");
}}
先谢谢各位了
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class Window extends JFrame implements ActionListener{
JMenuBar menubar;
JMenu menu3;
JMenuItem itemScript;
JTextArea text1,text2;
JSplitPane split;
Window(String s){
setTitle(s);
menubar=new JMenuBar();
menu3=new JMenu("格式");
itemScript=new JMenuItem("字体");
menu3.add(itemScript);
menubar.add(menu3);
setJMenuBar(menubar);
text1=new JTextArea();
text2=new JTextArea();
JScrollPane info=new JScrollPane();
info.getViewport().add(text1);
JScrollPane send=new JScrollPane();
send.getViewport().add(text2);
split=new JSplitPane(JSplitPane.VERTICAL_SPLIT,false,info,send);
add(split);
split.setDividerLocation(getBounds().height-200);
this.addComponentListener(new ComponentAdapter(){
public void componentResized(ComponentEvent e){
split.setDividerLocation(getBounds().height-200);
}
});
setSize(800, 600);
itemScript.addActionListener(this);
setVisible(true);
Dimension frameSize=getSize();
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screenSize.width-frameSize.width)/2, (screenSize.height-frameSize.height)/2);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==itemScript){
Script script=new Script();
if(script.getNum()==Script.YES){
text2.append("进行了更换字体操作\n");
}
}
}
}
class Script extends JDialog implements ActionListener {
final static int YES = 1,NO = 0;
JButton yes,no;
JPanel confirmPanel;
int num=10;
public Script() {
setTitle("字体设置");
yes=new JButton("Yes");
yes.addActionListener(this);
no=new JButton("No");
no.addActionListener(this);
confirmPanel=new JPanel();
confirmPanel.setLayout(new FlowLayout());
confirmPanel.add(yes);
confirmPanel.add(no);
Container container = getContentPane();
container.setLayout(new BorderLayout());
container.add(confirmPanel,BorderLayout.CENTER);
setSize(500, 300);
setVisible(true);
}
public int getNum(){
return num;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==yes){
num=YES;
setVisible(false);
}
if(e.getSource()==no){
num=NO;
setVisible(false);
}
}
}
public class MyWin {
public static void main(String[] args) {
Window myWin=new Window("新建文本编辑器");
}}
先谢谢各位了
解决方案 »
- MyEclipse中如何使用Hibernate配置多对多映射
- tomcat的配置文件
- <html:text>标签问题,新手求解!
- struts2校验器的问题
- 跪求关于action请求问题,请大侠解决,在线等,谢谢!
- EJB问题
- 谁见过这问题java.lang.SecurityException: no manifiest section for signature file entryjavax/activation/DataContentHandlerFactory
- jboss中的部署问题,如果我不想将web应用或者ejb放到jboss默认的部署目录下,我该如何做
- Weblogic 是干什么的?
- 据说在Tomcat下不能开发测试EJB,那么最简单的环境是什么?
- jbpm4.4怎么获取最新版本的流程
- J2EE。本地能获取到session值,放到网络上就不行了,同样一段代码。
换为
text2.setText("进行了更换字体操作\n");