界面设计布局的问题.add(xxx, BorderLayout.SOUTH)还是跑到下面了

wgf42421 2010-01-09 07:17:11
extends JFrame的效果是这样的



extends JPanel的效果是这样的….没有填充到整个窗口


public static void main(String[] args) {
JFrame frame = new JFrame();
ResultTable pan = new ResultTable("1");
frame.add(pan);
frame.setSize(760, 670);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

}

Q1.我想让它填充到整个窗口要怎么做呢?

pSouth = new JPanel();
pSouth.add(btnAdd);
pSouth.add(btnDelete);
add(pSouth, BorderLayout.SOUTH);
add(new JScrollPane(table), BorderLayout.CENTER);
Q2.按钮为什么会跑到左边去,怎么解决?
...全文
1049 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
py330316117 2010-01-11
  • 打赏
  • 举报
回复
你一个帖子要问几个问题?
才20分,自己研究去吧。
楼上这个运行什么也不会得。JOptionPane.showMessageDialog(null, "对不起,中国的身份证为15位或18位", "提示",
JOptionPane.ERROR_MESSAGE); 这个提示信息的写法,当然还有错误信息等一些写法,由于你只有20分,建议你再发个帖子吧。。。。再有问题不予解决
wgf42421 2010-01-10
  • 打赏
  • 举报
回复
To yel_hb,
那个关于我们的JDialog给个调用的类吧..JDialog不太懂.弄了半天没运行起来它..
py330316117 2010-01-10
  • 打赏
  • 举报
回复
我这有一个我最近做的你可以看一下
public class checkresult extends javax.swing.JFrame {

/** Creates new form checkresult */
public checkresult() {
initComponents();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
//GEN-BEGIN:initComponents
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jTable1.setModel(new javax.swing.table.DefaultTableModel(
a, name));
jScrollPane1.setViewportView(jTable1);

jLabel1.setFont(new java.awt.Font("微软雅黑", 3, 36));
jLabel1.setForeground(new java.awt.Color(0, 0, 204));
jLabel1.setText("\u673a\u7968\u9884\u8ba2\u8868");

jButton1.setFont(new java.awt.Font("微软雅黑", 3, 24));
jButton1.setForeground(new java.awt.Color(0, 0, 204));
jButton1.setText("\u786e\u5b9a");

jButton2.setForeground(new java.awt.Color(0, 0, 255));
jButton2.setText("\u663e\u793a\u6570\u636e");

org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout
.setHorizontalGroup(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(
layout
.createSequentialGroup()
.add(
layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(
layout
.createSequentialGroup()
.add(
148,
148,
148)
.add(
jLabel1)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED)
.add(
jButton2))
.add(
layout
.createSequentialGroup()
.add(
57,
57,
57)
.add(
jScrollPane1,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
466,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
.add(
layout
.createSequentialGroup()
.add(
236,
236,
236)
.add(
jButton1)))
.addContainerGap(120, Short.MAX_VALUE)));
layout
.setVerticalGroup(layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING)
.add(
layout
.createSequentialGroup()
.add(
layout
.createParallelGroup(
org.jdesktop.layout.GroupLayout.LEADING,
false)
.add(
layout
.createSequentialGroup()
.addContainerGap()
.add(
jLabel1)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED))
.add(
org.jdesktop.layout.GroupLayout.TRAILING,
layout
.createSequentialGroup()
.addContainerGap(
org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.add(
jButton2)
.add(
17,
17,
17)))
.add(
jScrollPane1,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
299,
org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(
org.jdesktop.layout.LayoutStyle.RELATED,
21, Short.MAX_VALUE).add(
jButton1).add(27, 27, 27)));

pack();
}//GEN-BEGIN:variables
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private Object[][] a=new Object[][]{{},{},{}};
// End of variables declaration//GEN-END:variables

public static Object name[]=new String[] { "姓名",
"性别", "工作单位", "身份证号码","旅行时间","旅行目的地" };
}
wenlonghor616 2010-01-10
  • 打赏
  • 举报
回复
学习了~~
存在666 2010-01-10
  • 打赏
  • 举报
回复
不错,学习了,AWT看来要多学下!
yel_hb 2010-01-10
  • 打赏
  • 举报
回复
public class AboutDialog extends JDialog {

private static final long serialVersionUID = -8953866439352196512L;
private static AboutDialog wsab;

public static AboutDialog getInstance(Frame parent){
if(wsab == null){
wsab = new AboutDialog(parent);
}

return wsab;
}

private AboutDialog(Frame parent){
super(parent,true);
init(parent);
}

protected void init(Frame parent){

this.setTitle("关于我们");
this.setSize(540, 290);
this.setResizable(false);
this.setLocationRelativeTo(parent);
this.setLayout(new BorderLayout());

this.createUP();
this.createCenter();
this.createBottom();
}

private void createBottom() {
JPanel pnlButton = new JPanel();
JButton btnOK;
pnlButton.setLayout(new FlowLayout(FlowLayout.RIGHT,12,15));

btnOK = new JButton("确 定");
btnOK.addActionListener(new ActionListener(){

@Override
public void actionPerformed(ActionEvent e) {
AboutDialog.this.dispose();
}

});
pnlButton.add(btnOK);

this.add(pnlButton,BorderLayout.SOUTH);
}

private void createCenter() {
JPanel centerPanel = new JPanel(new GridLayout(1,1, 12, 5));
centerPanel.setBackground(Color.WHITE);
centerPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED));
this.add(centerPanel);

Icon icon = new ImageIcon("images/logo.jpg");
JLabel label = new JLabel(icon, SwingConstants.LEFT);
centerPanel.add(label);

}

private void createUP() {
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 12, 10));
panel.add(new JLabel("关于我们"));
this.add(panel, BorderLayout.NORTH);
}
}
这是一个“关于我们”的面板,跟你描述的问题差不多,可能对你有用
WuBill 2010-01-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wgf42421 的回复:]
顶..
[/Quote]

顶者有分吗?*_*
wgf42421 2010-01-10
  • 打赏
  • 举报
回复
顶..
yel_hb 2010-01-10
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 wgf42421 的回复:]
To yel_hb,
那个关于我们的JDialog给个调用的类吧..JDialog不太懂.弄了半天没运行起来它..
[/Quote]
这是一个单例模式,在main方法中写这么一句就行了:

AboutDialog.getInstance(null).setVisible(true);
wgf42421 2010-01-09
  • 打赏
  • 举报
回复
帖个全图....大家给点主意...

wgf42421 2010-01-09
  • 打赏
  • 举报
回复
再进一步问:
让panel t填充满JtextField后,
t.add(new JButton("new"), BorderLayout.SOUTH); //现在的效果是和JtextField各占面板一半大小
我想在t面板的底部仅占一个按钮的高度占一行,要怎么做呢?

如图..
huntor 2010-01-09
  • 打赏
  • 举报
回复
布局管理器现在基本复杂一点的使用MiGLayout,简单的使用DesignGridLayout
wgf42421 2010-01-09
  • 打赏
  • 举报
回复
3Q.huntor

t设置成GirdLayout(1,1)..这是关键哪..
wgf42421 2010-01-09
  • 打赏
  • 举报
回复
我没有在ResultTable有setSize.
即使用了也没有反应..table的宽度不变化...感觉是被圈起来了一样..
huntor 2010-01-09
  • 打赏
  • 举报
回复
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
import java.awt.*;

public class T extends JFrame {
JTextField tField,t2,t3;

public T() {
super("T");
tField = new JTextField(10);
t2 = new JTextField(10);
setSize(760, 670);
setLayout(new GridLayout(3,1));
JPanel t = new JPanel();
t.setLayout(new GridLayout(1,1));
t.add(tField);
add(t);
add(t2);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new T();
}
});
}
}
huntor 2010-01-09
  • 打赏
  • 举报
回复
你的问题太奇怪了。你有没有在ResultTable中table的大小?
改变窗口宽度是table跟着变化。
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
DefaultTableModel model = new DefaultTableModel(5 ,5);
frame.getContentPane().add(new JScrollPane(new JTable(model)),BorderLayout.CENTER);
JPanel buttonPanel = new JPanel();
buttonPanel.add(new JButton("Ok"));
buttonPanel.add(new JButton("Cancel"));
frame.getContentPane().add(buttonPanel,BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
wgf42421 2010-01-09
  • 打赏
  • 举报
回复
再举个例子.

JTextField tField = new JTextField(10);
我直接插入tField,填充整个窗口.

setLayout(new GridLayout(3,1));
此时插入tField,则占1/3屏幕.

但是我如果插入panel t,再向t中插入tField,则占一小块地方,10个字符位置.
我想在t中插入tField也让它像原来那样填充整个t面板怎么做?



public class T extends JFrame {

JTextField tField,t2,t3;

public T() {
tField = new JTextField(10);
t2 = new JTextField(10);
setSize(760, 670);
setLayout(new GridLayout(3,1));

JPanel t = new JPanel();
t.setLayout(new FlowLayout());
t.add(tField);
add(t);
add(t2);
setVisible(true);
}
public static void main(String[] args) {
new T();
}
}


填上代码..
wgf42421 2010-01-09
  • 打赏
  • 举报
回复

To 楼上
不好意思发错了..extends JFrame是这个
http://s283.photobucket.com/albums/kk320/wgf4242/Upload/?action=view¤t=2010-01-09193241.png&newest=1

不管怎么拉窗口,面板表格都是自动扩展到两侧的..不像顶楼的图那样被圈一在一个小范围了.
pack不行啊..一拉窗口表格大小也不跟着变.

huntor 2010-01-09
  • 打赏
  • 举报
回复
1 把frame.setSize(760,670);改成 frame.pack();
import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; import javax.swing.*; public class NotePad { public static void main(String[] args){ myfr fr=new myfr("猪猪java记事本"); fr.setLocation(100,100); fr.setSize(750,650); } } ///////////////////////////myfr主窗体类////////////////////////////////////// class myfr extends JFrame implements ActionListener{ String str,strnext,path,fname; //部分变量的声明 JPanel mainpane; JFileChooser choose = new JFileChooser(); //文件对话框 Dialog find,replace; //find为查找对话框,replace对话框 JTextField findtxt,repltxt; //find为查找对话框的输入文本区,replace对话框的输入文本区 Font newfont; JButton findenter,replb; //find为查找对话框,replace对话框的确定按钮 JLabel state=new JLabel(" 猪猪java记事本------"); //状态栏 JTextArea txt1; //主输入文本区 File newfiles; JPopupMenu popm; //弹出菜单声明 JMenu m1,m2,m3,m4,m5,m6; //各菜单项 JMenuItem m61,m62,m26,m271,m34,m51,m52,m53,m54,p_copy,p_cut,p_paste,p_del; int startp,endp,nexttemp,newstartp,newendp; //查找替换时所用的临时变量 JToolBar toolbar = new JToolBar(); //工具条 JButton newf=new JButton(new ImageIcon("9.jpg")); //图标在PIC下 JButton open=new JButton(new ImageIcon("2.jpg")); JButton save=new JButton(new ImageIcon("3.jpg")); JButton copy=new JButton(new ImageIcon("6.jpg")); JButton cut=new JButton(new ImageIcon("7.jpg")); JButton pp=new JButton(new ImageIcon("8.jpg")); JButton del=new JButton(new ImageIcon("pic/del.gif")); JButton findc=new JButton(new ImageIcon("9.jpg")); JButton color=new JButton(new ImageIcon("10.jpg")); JButton help=new JButton(new ImageIcon("pic/help.gif")); JButton exit=new JButton(new ImageIcon("pic/exit.gif")); myfr(String sss){ /////构造函数开始 super(sss); JMenuBar mb=new JMenuBar(); fname=null; //初始文件名为空 findenter=new JButton("确定"); findenter.addActionListener(this); //声明对话框中上确定按钮,并注册事件 replb=new JButton("确定"); replb.addActionListener(this); mainpane=(JPanel)this.getContentPane(); mainpane.setLayout(new BorderLayout()); txt1=new JTextArea("",13,61); txt1.addMouseListener(new handlemouse(this));//注册鼠标右击事件 txt1.setFont(new Font("宋体",Font.PLAIN,18)); mainpane.add(txt1, BorderLayout.CENTER); mainpane.add("North",toolbar); mainpane.add("South",state); JScrollPane sll = new JScrollPane(); //创建滚动条 mainpane.add("Center", sll); ; sll.getViewport().add(txt1); //将滚动条装入文本区 //文本栏中的浮动条 popm=new JPopupMenu(); ////POPMeun 开始 p_copy=new JMenuItem("复制 "); p_copy.addActionListener(this); KeyStroke keycopyp=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK); p_copy.setAccelerator(keycopyp); p_cut=new JMenuItem("剪切 "); p_cut.addActionListener(this); KeyStroke keycutp=KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK); p_cut.setAccelerator(keycutp); p_paste=new JMenuItem("粘贴 "); p_paste.addActionListener(this); KeyStroke keypp=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK); p_paste.setAccelerator(keypp); p_del=new JMenuItem("删除 "); p_del.addActionListener(this); KeyStroke keydelp=KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0); p_del.setAccelerator(keydelp); popm.add(p_copy); popm.add(p_cut); popm.add(p_paste); popm.add(p_del); txt1.add(popm); ////POPMenu 结束 m1=new JMenu("文件(F)"); m1.setMnemonic('F'); //定义快捷方式 JMenuItem m10=new JMenuItem("新建 "); m10.addActionListener(this); //注册事件监听器 KeyStroke keynew=KeyStroke.getKeyStroke(KeyEvent.VK_N,Event.CTRL_MASK); //定义快捷键 m10.setAccelerator(keynew); JMenuItem m11=new JMenuItem("打开 "); m11.addActionListener(this); KeyStroke keyopen=KeyStroke.getKeyStroke(KeyEvent.VK_O,Event.CTRL_MASK); m11.setAccelerator(keyopen); JMenuItem m12=new JMenuItem("保存 "); m12.addActionListener(this); KeyStroke keysave=KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK); m12.setAccelerator(keysave); JMenuItem m13=new JMenuItem("另保存为 "); m13.addActionListener(this); JMenuItem m14=new JMenuItem("退出 "); m14.addActionListener(this); KeyStroke keyexit=KeyStroke.getKeyStroke(KeyEvent.VK_F4,Event.ALT_MASK); m14.setAccelerator(keyexit); //////////////////////////////////////////// m2=new JMenu("编辑(E)"); m2.setMnemonic('E'); JMenuItem m21=new JMenuItem("复制 "); m21.addActionListener(this); KeyStroke keycopy=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK); m21.setAccelerator(keycopy); JMenuItem m22=new JMenuItem("剪切 "); m22.addActionListener(this); KeyStroke keycut=KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK); m22.setAccelerator(keycut); JMenuItem m23=new JMenuItem("粘贴 "); m23.addActionListener(this); KeyStroke keyp=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK); m23.setAccelerator(keyp); JMenuItem m24=new JMenuItem("删除 "); m24.addActionListener(this); KeyStroke keydel=KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0); m24.setAccelerator(keydel); JMenuItem m25=new JMenuItem("查找 "); m25.addActionListener(this); KeyStroke keyfind=KeyStroke.getKeyStroke(KeyEvent.VK_F,Event.CTRL_MASK); m25.setAccelerator(keyfind); m26=new JMenuItem("查找下一个 "); m26.addActionListener(this); KeyStroke keyfn=KeyStroke.getKeyStroke(KeyEvent.VK_F3,0); m26.setAccelerator(keyfn); m26.setEnabled(false); JMenuItem m27=new JMenuItem("替换 "); m27.addActionListener(this); KeyStroke keyrepl=KeyStroke.getKeyStroke(KeyEvent.VK_H,Event.CTRL_MASK); m27.setAccelerator(keyrepl); m271=new JMenuItem("替换下一个"); m271.setEnabled(false); m271.addActionListener(this); KeyStroke keyrepn=KeyStroke.getKeyStroke(KeyEvent.VK_F6,0); m271.setAccelerator(keyrepn); JMenuItem m28=new JMenuItem("全选 "); m28.addActionListener(this); KeyStroke keyall=KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK); m28.setAccelerator(keyall); JMenuItem m29=new JMenuItem("日期/时间 "); m29.addActionListener(this); m3=new JMenu("格式(O)"); m3.setMnemonic('O'); JMenu m31=new JMenu("字体样式 "); JMenuItem m311=new JMenuItem("正常 "); m311.addActionListener(this); JMenuItem m312=new JMenuItem("粗体 "); m312.addActionListener(this); JMenuItem m313=new JMenuItem("斜体 "); m313.addActionListener(this); JMenu m32=new JMenu("字体大小 "); JMenuItem m321=new JMenuItem("最大 "); m321.addActionListener(this); JMenuItem m322=new JMenuItem("较大 "); m322.addActionListener(this); JMenuItem m323=new JMenuItem("适中 "); m323.addActionListener(this); JMenuItem m324=new JMenuItem("较小 "); m324.addActionListener(this); JMenuItem m325=new JMenuItem("最小 "); m325.addActionListener(this); JMenuItem m33=new JMenuItem("字体颜色 "); m33.addActionListener(this); m34=new JMenuItem("自动换行 "); m34.addActionListener(this); m5=new JMenu("视图风格(V)"); m5.setMnemonic('V'); //m51=new JMenuItem("系统风格 "); //m51.addActionListener(this); m52=new JMenuItem("MOTIF风格 "); m52.addActionListener(this); m53=new JMenuItem("默认风格 "); m53.addActionListener(this); m54=new JMenuItem("状态栏 "); m54.addActionListener(this); m6=new JMenu("帮助(H)"); m6.setMnemonic('H'); m61=new JMenuItem("帮助主题 "); m61.addActionListener(this); m62=new JMenuItem("关于 "); m62.addActionListener(this); //添加各项 m1.add(m10); m1.add(m11); m1.add(m12); m1.add(m13); m1.addSeparator(); m1.add(m14); m2.add(m21); m2.add(m22); m2.add(m23); m2.add(m24); m2.addSeparator(); m2.add(m25); m2.add(m26); m2.add(m27); m2.add(m271); m2.addSeparator(); m2.add(m28); m2.add(m29); m3.add(m31); m31.add(m311); m31.add(m312); m31.add(m313); m3.add(m32); m32.add(m321); m32.add(m322); m32.add(m323); m32.add(m324); m32.add(m325); m3.add(m33); m3.addSeparator(); m3.add(m34); //m5.add(m51); m5.add(m52); m5.add(m53); m5.addSeparator(); m5.add(m54); m6.add(m61); m6.addSeparator(); m6.add(m62); mb.add(m1); mb.add(m2); mb.add(m3); mb.add(m5); mb.add(m6); this.setJMenuBar(mb); //设置菜单栏 toolbar.add(newf); //工具栏各按钮 newf.setToolTipText("新建"); newf.addActionListener(this); //toolbar.add(open); //open.setToolTipText("打开"); //open.addActionListener(this); //toolbar.add(save); //save.setToolTipText("保存"); //save.addActionListener(this); //toolbar.addSeparator(); toolbar.add(copy); copy.setToolTipText("复制"); copy.addActionListener(this); toolbar.add(cut); cut.setToolTipText("剪切"); cut.addActionListener(this); toolbar.add(pp); pp.setToolTipText("粘贴"); pp.addActionListener(this); //toolbar.add(del); //del.setToolTipText("删除"); //del.addActionListener(this); toolbar.addSeparator(); //toolbar.add(findc); //findc.setToolTipText("查找"); //findc.addActionListener(this); toolbar.add(color); color.setToolTipText("字体颜色"); color.addActionListener(this); toolbar.addSeparator(); //toolbar.add(help); //help.setToolTipText("帮助主题"); //help.addActionListener(this); //toolbar.add(exit); //exit.setToolTipText("退出"); //exit.addActionListener(this); setVisible(true); pack(); show(); this.addWindowListener(new xxx(this)); }///构造函数结束/// ////////////////事件处理///////////////////////////////////// public void actionPerformed(ActionEvent p){ if(p.getActionCommand()=="新建 "||p.getSource()==newf){ //响应菜单及工具栏事件 fname=null; //置文件名为空,便于判断文件是否保存过 txt1.setText(""); state.setText(" 猪猪java记事本------"); } if(p.getActionCommand()=="打开 "||p.getSource()==open){ try { if(this.choose.APPROVE_OPTION==this.choose.showOpenDialog(this)){ path=this.choose.getSelectedFile().getPath(); fname=this.choose.getSelectedFile().getName(); File file=new File(path); int flength=(int)file.length(); FileReader fReader=new FileReader(file); char[] data=new char[flength]; fReader.read(data,0,flength); txt1.setText(new String(data)); state.setText(" 猪猪java记事本------"+path+" 共"+flength+"字节");//状态栏统计文件字节数 txt1.setCaretPosition(0); } }catch(IOException e){} } if(p.getActionCommand()=="保存 "||p.getSource()==save){ if(fname==null){ othersave(); } //如果文件名为空,说明文件未被创建,弹出另存为对话框 try { File savefile=new File(path); savefile.createNewFile(); FileWriter fw=new FileWriter(savefile); fw.write(txt1.getText()); fw.close(); }catch(IOException e){} } if(p.getActionCommand()=="另保存为 "){ othersave(); } if(p.getActionCommand()=="退出 "||p.getSource()==exit){ exit(); } //////////////////编辑//////////////////// if(p.getActionCommand()=="复制 "||p.getSource()==copy) { txt1.copy(); } if(p.getActionCommand()=="剪切 "||p.getSource()==cut) { txt1.cut(); } if(p.getActionCommand()=="粘贴 "||p.getSource()==pp) { txt1.paste(); } if(p.getActionCommand()=="删除 "||p.getSource()==del){ txt1.replaceSelection(""); } /////////////////////////////////////////////////////// if(p.getActionCommand()=="全选 "){ txt1.selectAll(); } if(p.getActionCommand()=="日期/时间 "){ //用DATE类插入当前日期/时间,编译时会出现说明 int inpoint=txt1.getCaretPosition(); Date dt=new Date(); String strdate=dt.toLocaleString(); txt1.insert(strdate,inpoint);} //格式// //////////字体样式//////////////// if(p.getActionCommand()=="正常 "){ newfont=txt1.getFont(); //得到当前应用字体,获得字体大小,创建相应样式 int size=newfont.getSize(); txt1.setFont(new Font("宋体",Font.PLAIN,size)); } if(p.getActionCommand()=="粗体 "){ newfont=txt1.getFont(); int size=newfont.getSize(); txt1.setFont(new Font("宋体",Font.BOLD,size)); } if(p.getActionCommand()=="斜体 "){ newfont=txt1.getFont(); int size=newfont.getSize(); txt1.setFont(new Font("宋体",Font.ITALIC,size)); } ////////////字体大小///////////////// if(p.getActionCommand()=="最大 "){ newfont=txt1.getFont(); ////得到当前应用字体,获得字体样式,创建相应字体的大小 int sty=newfont.getStyle() ; txt1.setFont(new Font("宋体",sty,35)); } if(p.getActionCommand()=="较大 "){ newfont=txt1.getFont(); int sty=newfont.getStyle() ; txt1.setFont(new Font("宋体",sty,30)); } if(p.getActionCommand()=="适中 "){ newfont=txt1.getFont(); int sty=newfont.getStyle() ; txt1.setFont(new Font("宋体",sty,18)); } if(p.getActionCommand()=="较小 "){ newfont=txt1.getFont(); int sty=newfont.getStyle() ; txt1.setFont(new Font("宋体",sty,16)); } if(p.getActionCommand()=="最小 "){ newfont=txt1.getFont(); int sty=newfont.getStyle() ; txt1.setFont(new Font("宋体",sty,14)); } if(p.getActionCommand()=="字体颜色 "||p.getSource()==color){ //字体颜色 JColorChooser jColor=new JColorChooser(); //调用颜色面板,设置前景就可更改字体颜色 Color fcolor=txt1.getForeground(); txt1.setForeground( jColor.showDialog(txt1,"选择字体颜色",fcolor)); } if(p.getActionCommand()=="自动换行 "){ txt1.setLineWrap(true); m34.setEnabled(false);} //if(p.getActionCommand()=="系统风格 ") //不稳定,在不同编译平台下表现不一致 // { } if(p.getActionCommand()=="MOTIF风格 "){ this.dispose(); myfr ww=new myfr("我的javaX记事本"); try { //MOTIF界面 UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); SwingUtilities.updateComponentTreeUI(ww); }catch ( Exception e ) {} } if(p.getActionCommand()=="默认风格 "){ this.dispose(); myfr ww=new myfr("猪猪java记事本"); try { UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); SwingUtilities.updateComponentTreeUI(ww); }catch ( Exception e ) {} } if(p.getActionCommand()=="状态栏 ") //状态栏的隐藏和显视 {state.setVisible( !(state.isVisible()) );} /////////////////////帮助/////////////////////////////////////////// if(p.getActionCommand()=="帮助主题 "||p.getSource()==help){ myhelp help=new myhelp(); help.setSize(200,240);} if(p.getActionCommand()=="关于 "){ JLabel prompt=new JLabel("欢迎使用我的JAVAX记事本",JLabel.CENTER); JOptionPane.showMessageDialog(null,prompt,"关于我的JAVAX记事本",JOptionPane.INFORMATION_MESSAGE); } } public void othersave() {//另存为方法 if(choose.APPROVE_OPTION==choose.showSaveDialog(this)){ path=choose.getSelectedFile().getPath(); newfiles=new File(path); state.setText(" 猪猪java记事本------"+path); fname=choose.getSelectedFile().getName();; try { newfiles=new File(path); newfiles.createNewFile(); FileWriter fw=new FileWriter(newfiles); fw.write(txt1.getText()); fw.close(); }catch(IOException e){} } } public void notfindmethod(){ //提示查找不到的方法notfindmethod if(!txt1.getSelectedText().equals(findtxt.getText())) { txt1.setCaretPosition(0); //光标返回文件头部 JOptionPane.showMessageDialog(null,"查找不到对应的字符!","查找错误",JOptionPane.ERROR_MESSAGE); m26.setEnabled(false); } } public void exit(){ int value; String[] qq={"返回", "退出"}; value=JOptionPane.showOptionDialog(null, "你确定退出吗?请注意保存文件!", "退出程序?", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,null, qq, qq[0]); if(value==JOptionPane.YES_OPTION) return; else if(value==JOptionPane.NO_OPTION) { System.exit(0); } } }//主窗口类结束// class xxx extends WindowAdapter{ //关闭窗口XXX类//////////// myfr fx; xxx(myfr fxx) {fx=fxx;} public void windowClosing(WindowEvent e){ JOptionPane.showMessageDialog(null,"欢迎使用本软件!","退出",JOptionPane.INFORMATION_MESSAGE); fx.dispose(); System.exit(0); } } class xxxhelp extends WindowAdapter{ //关闭帮助主题窗口类XXXhelp myhelp fx; xxxhelp(myhelp fxx){ fx=fxx;} public void windowClosing(WindowEvent e){ fx.dispose(); } } class myhelp extends JFrame{ //帮助主题类///////////////// TextArea helparea; myhelp() { super("我的帮助主题"); helparea=new TextArea("",45,25,TextArea.SCROLLBARS_NONE);//创建没有滚动条的帮助窗口 helparea.setText(" "); helparea.append("我的JAVAX记事本是一个用来创建简单的文档的基本的文本编辑器.可用于打开查看TXT文档。"); helparea.append("要编辑文字,请先选定它,然后单击相应菜单上的相关命令。"); helparea.append("鼠标悬停在工具栏上会出现相关提示。本软件在SDK 1.40下编写,"); helparea.append("最好在1.4环境下运行,否则会出现一些小问题,但不影响正常使用……"); setResizable(false); getContentPane().add(helparea); show();pack(); helparea.setFont(new Font("宋体",Font.PLAIN,14)); helparea.setEnabled(false); addWindowListener(new xxxhelp(this)); } } class handlemouse extends MouseAdapter //处理右键弹出菜单类 { myfr fx; handlemouse(myfr fxx){ fx=fxx; } public void mouseReleased(MouseEvent n){ if(n.isPopupTrigger()) fx.popm.show((Component)n.getSource(),n.getX(),n.getY()); } }

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧