`
blues1021
  • 浏览: 135484 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

JScrollPane和JTextArea,JMenuBar、JMenu和JMenuItem之间的组合关系

 
阅读更多

package menuta;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import ioutil.*;
public class DemoMenusAndTextAreas extends JFrame{
      //////////////////////////////////////////////////////// main
    public static void main(String[] args){
      JFrame theFrame = new DemoMenusAndTextAreas();
      theFrame.setSize(350, 250);
      theFrame.setVisible(true);         
   }
    //////////////////////////////////////////////////////// Model
    // none
//////////////////////////////////////////////////////// View
// Create controls
   private JTextArea taDisplay     = new JTextArea("Greetings!\n");
   
   private JMenu     muFile        = new JMenu("File");      
   private JMenuItem miFileNew     = new JMenuItem("New");
   
   private JMenu     muEdit        = new JMenu("Edit");       
   private JMenuItem miEditAppend  = new JMenuItem("Append");
   private JMenuItem miEditReplace = new JMenuItem("Replace");
  public DemoMenusAndTextAreas(){
    // Set title
      setTitle("Menus and TextArea Demo");
      // Create container and layout
      Container contentPane = getContentPane();
      EasyGridLayout layout = new EasyGridLayout();
      contentPane.setLayout (layout);
  // Set constraints and add controls to container
      JScrollPane spDisplay = new JScrollPane(taDisplay);
      layout.setConstraints(spDisplay  , 1,1,1,1);
      contentPane.add(spDisplay);
 //
1.组合关系,JScrollPane组件的使用,add其它组件后,使它成为JScrollPane的属性,所以容器添加JScrollPane对象即可。
   // Create the menu bar and add menus and menu items
      JMenuBar menuBar = new JMenuBar();
     this.setJMenuBar(menuBar);/
/this是theFrame对象,和contentPane是有区别的。
      menuBar.add(muFile);
      menuBar.add(muEdit);
      muFile.add(miFileNew);
//2.组合关系,将JMenu作为JmenuBar的属性,然后将JMenuItem作为JMenu的属性,能够使得JMenuItem作为MenuBar的属性。
      muEdit.add(miEditAppend);
      muEdit.add(miEditReplace);

      // Specify listeners
      miFileNew.addActionListener(new FileNewListener());
      miEditAppend.addActionListener(new EditAppendListener());
      miEditReplace.addActionListener(new EditReplaceListener());
      this.addWindowListener(new MyWindowAdapter());   
   }
     //////////////////////////////////////////////////////// Controller
// File-new listener
   private class FileNewListener implements ActionListener{
      public void actionPerformed(ActionEvent e){
         taDisplay.setText("");//
新建文件是利用JComponentText对象setText(" ")空,或实现replace文件内容的功能。
      }
   }
 // Edit-append listener
   private class EditAppendListener implements ActionListener{
      public void actionPerformed(ActionEvent e){
         taDisplay.append("Appending one more line.\n");//
利用JTextArea的append方法实现后面添加。
      }
   }
 // Edit-modify listener
   private class EditReplaceListener implements ActionListener{
      public void actionPerformed(ActionEvent e){
         taDisplay.setText("Setting a new line of text.\n");//setText覆盖。
      }
   }
    // Window listener
   private class MyWindowAdapter extends WindowAdapter{
      public void windowClosing (WindowEvent e){
         System.exit(0);
      }
   }
}

分享到:
评论

相关推荐

    Expression:Java 中的字处理器

    Expression 专注于令人愉悦的图形设计和有效的代码,以实现快速易用的文字处理器。 尝试在eclipse中上传以下代码。 是你想的那样吗?? 导入 java.awt。 ; 导入 javax.swing。 ;; 公共类 TextDemo { JTextArea ...

    java编写的类似文本编辑器的代码

    JMenuBar menuBar1=new JMenuBar(); JMenu fileMenu=new JMenu("File"); JMenu editMenu=new JMenu("Edit"); JMenu optionMenu=new JMenu("Option"); JMenu advanceMenu=new JMenu("Advance"); JMenu helpMenu...

    Swing组件下载(常用组件)

    滚动窗格:JScrollPane 工具栏:JToolBar 桌面窗格:JDesktopPane 内部框架:JInternalFrame 分层窗格:JLayeredPane 标签:JLabel 按钮:JButton 开启/关闭按钮:JToggleButton 复选框:JCheckBox 单选按钮:...

    java 文本编辑器

    jscrollPane = new JScrollPane(jtextArea); jfileChooser = new JFileChooser(); jfileChooser.setFileFilter(new FileNameExtensionFilter("文本文件(*.txt)", "txt")); jmenuFile = new JMenu("文件(F)...

    java编写文本编辑器

    用java编写的文本编辑器...import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea;

    java万年历源代码

    import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing....

    BuildListener

    JMenuItem build=new JMenuItem("builder"); JMenuItem play=new JMenuItem("player"); build.addActionListener(new BuildListener()); play.addActionListener(new PlayListener()); menu.add(build); menu....

    java类似QQ通信

    JScrollPane jScrollPane1; JPanel panel1; JPanel panel2; public EchoServerTest(){ super("服务器窗口"); this.setJMenuBar(createMenuBar()); button1=new JButton("发送"); button2=new JButton(...

    frashcardss

    JMenu fileMenu=new JMenu("File"); JMenuItem newMenuItem=new JMenuItem("new"); JMenuItem saveMenuItem=new JMenuItem("save"); newMenuItem.addActionListener(new NewMenuListener()); saveMenuItem....

    小型简单的记事本程序

    JScrollPane sll = new JScrollPane(); //创建滚动条 mainpane.add("Center", sll); ; sll.getViewport().add(txt1); //将滚动条装入文本区 //文本栏中的浮动条 popm=new JPopupMenu(); ////POPMeun 开始...

    用java编写的记事本,基本功能都实现了啊!

    JScrollPane panel = new JScrollPane(textArea, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); Container contentPane = getContentPane(); ...

    java 写的 qq软件 客户端 服务端

    JMenuBar jMenuBar = new JMenuBar(); //建立菜单组 JMenu operateMenu = new JMenu ("操作(O)"); //建立菜单项 JMenuItem loginItem = new JMenuItem ("用户登录(I)"); JMenuItem logoffItem = new ...

    java经典面试2010集锦100题(不看你后悔)

    A) 抽象类使类与类之间依旧具有父子联系,而接口一般只是定义了一种规范,并不使实现的接口之间具有父子关系。 B) 可以为抽象类定义对象,但是不能为接口定义对象。 C) 抽象类与接口的用法几乎都相同,具体用哪一个...

    Socket聊天室源程序

    JMenuBar jMenuBar = new JMenuBar(); //建立菜单组 JMenu operateMenu = new JMenu ("操作(O)"); //建立菜单项 JMenuItem loginItem = new JMenuItem ("用户登录(I)"); JMenuItem logoffItem = new ...

    java 端口扫描工具 端口扫描

    public static JTextArea Result=new JTextArea("",4,40); //滚动条面板 public static JScrollPane resultPane = new JScrollPane(Result,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_...

    JAVA编写的图书馆管理系统

    JTextArea text=new JTextArea(20,20); setSize(330,300); setVisible(true); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); add(text,BorderLayout.CENTER); try{ ...

    JI记事本

    JMenuBar menuBar=new JMenuBar(); <br>JMenu menuFile=new JMenu("File"); JMenuItem menuFileOpen=new JMenuItem("Open.."); JMenuItem menuFileSave=new JMenuItem("Save.."); JMenuItem ...

    java编写的计算器,能实现加减乘除

    JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal,myCollege; DecimalFormat df; //设置数据输出精度 boolean clickable; //控制当前能否按键 double memoryd; //使用内存...

    5.设计一个逻辑算术计算器,用来输入所需的数,并计算结果

    //用来保存double型数据的中间值(vard)和最后结果(answerd) short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算 String copy; //做复制用 JTextArea help; //帮助 ...

    javaSE代码实例

    8.1.1 类之间的关系 122 8.1.2 面向对象中的继承性 124 8.2 类的继承 125 8.3 成员变量的继承与隐藏 126 8.3.1 成员变量的继承规则 126 8.3.2 成员变量的隐藏 129 8.4 对象引用的使用 130 8.4.1 对象...

Global site tag (gtag.js) - Google Analytics