import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class chat {
public static void main(String[] args) {
new Jchat();
}
}
class Jchat extends JFrame
{
JTextArea J1;
JList J2;
JTextArea J3;
JFrame jf1=new JFrame();
JButton B1;
JButton B2;
JButton B3;
Dialog dia=new Dialog(jf1);
GridBagConstraints c;
GridBagLayout gba=new GridBagLayout();
int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;
double weightx,weighty;
Insets inset;
public Jchat()
{
Container f = jf1.getContentPane();
jf1.setLayout(gba);
JPanel j1=new JPanel();
JPanel j2=new JPanel();
JPanel j3=new JPanel();
JPanel j4=new JPanel();
JPanel j5=new JPanel();
J1=new JTextArea();
J1.setLineWrap(true);
J1.setEditable(false);
J2=new JList();
J3=new JTextArea();
J3.setLineWrap(true);
B3=new JButton("确定");
dia.add(B3);
B1=new JButton("sent");
B2=new JButton("out");
B1.addActionListener(new action1());
B2.addActionListener(new WL());
B3.addActionListener(new action2());
JScrollPane jscrollPane1 = new JScrollPane();
jscrollPane1.getViewport().add(J1,null);
JScrollPane jscrollPane2 = new JScrollPane();
jscrollPane2.getViewport().add(J3,null);
j1.setLayout(new BorderLayout());
j1.add(jscrollPane1);
j2.setLayout(new BorderLayout());
j2.add(jscrollPane2);
j3.add(B1);
j3.add(B2);
j4.setLayout(gba);
gridx=0;
gridy=0;
gridheight=1;
gridwidth=1;
weightx=1.0;
weighty=5;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.BOTH;
inset=new Insets(5,5,5,5);
ipadx=0;
ipady=0;
c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gba.setConstraints(j1,c);
j4.add(j1);
gridx=0;
gridy=1;
gridheight=1;
gridwidth=1;
weightx=1.0;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.BOTH;
inset=new Insets(5,5,5,5);
ipadx=0;
ipady=0;
c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gba.setConstraints(j2,c);
j4.add(j2);
/*......*/
gridx=0;
gridy=0;
gridwidth=1;
gridheight=1;
weightx=7.0;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.BOTH;
inset=new Insets(0,0,0,0);
ipadx=0;
ipady=0;
c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gba.setConstraints(j4, c);
jf1.add(j4);
/*...*/
dia.setModal(true);
dia.setSize(100, 100);
jf1.setTitle("GridBagLayout");
jf1.setSize(450,353);
jf1.setVisible(true);
}
在J3中编辑文字时 字数多了会出现滚动条 在不放大JFrame的情况下 两个JTextArea的比例是适中的 但当JFrame 放大后比例就变了
哪位高手帮忙解决下 如何才能在放大的时候比例也不变
import java.awt.event.*;
import javax.swing.*;
public class chat {
public static void main(String[] args) {
new Jchat();
}
}
class Jchat extends JFrame
{
JTextArea J1;
JList J2;
JTextArea J3;
JFrame jf1=new JFrame();
JButton B1;
JButton B2;
JButton B3;
Dialog dia=new Dialog(jf1);
GridBagConstraints c;
GridBagLayout gba=new GridBagLayout();
int gridx,gridy,gridwidth,gridheight,anchor,fill,ipadx,ipady;
double weightx,weighty;
Insets inset;
public Jchat()
{
Container f = jf1.getContentPane();
jf1.setLayout(gba);
JPanel j1=new JPanel();
JPanel j2=new JPanel();
JPanel j3=new JPanel();
JPanel j4=new JPanel();
JPanel j5=new JPanel();
J1=new JTextArea();
J1.setLineWrap(true);
J1.setEditable(false);
J2=new JList();
J3=new JTextArea();
J3.setLineWrap(true);
B3=new JButton("确定");
dia.add(B3);
B1=new JButton("sent");
B2=new JButton("out");
B1.addActionListener(new action1());
B2.addActionListener(new WL());
B3.addActionListener(new action2());
JScrollPane jscrollPane1 = new JScrollPane();
jscrollPane1.getViewport().add(J1,null);
JScrollPane jscrollPane2 = new JScrollPane();
jscrollPane2.getViewport().add(J3,null);
j1.setLayout(new BorderLayout());
j1.add(jscrollPane1);
j2.setLayout(new BorderLayout());
j2.add(jscrollPane2);
j3.add(B1);
j3.add(B2);
j4.setLayout(gba);
gridx=0;
gridy=0;
gridheight=1;
gridwidth=1;
weightx=1.0;
weighty=5;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.BOTH;
inset=new Insets(5,5,5,5);
ipadx=0;
ipady=0;
c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gba.setConstraints(j1,c);
j4.add(j1);
gridx=0;
gridy=1;
gridheight=1;
gridwidth=1;
weightx=1.0;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.BOTH;
inset=new Insets(5,5,5,5);
ipadx=0;
ipady=0;
c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gba.setConstraints(j2,c);
j4.add(j2);
/*......*/
gridx=0;
gridy=0;
gridwidth=1;
gridheight=1;
weightx=7.0;
weighty=1;
anchor=GridBagConstraints.CENTER;
fill=GridBagConstraints.BOTH;
inset=new Insets(0,0,0,0);
ipadx=0;
ipady=0;
c=new GridBagConstraints(gridx,gridy,gridwidth,gridheight,weightx,weighty,anchor,fill,inset,ipadx,ipady);
gba.setConstraints(j4, c);
jf1.add(j4);
/*...*/
dia.setModal(true);
dia.setSize(100, 100);
jf1.setTitle("GridBagLayout");
jf1.setSize(450,353);
jf1.setVisible(true);
}
在J3中编辑文字时 字数多了会出现滚动条 在不放大JFrame的情况下 两个JTextArea的比例是适中的 但当JFrame 放大后比例就变了
哪位高手帮忙解决下 如何才能在放大的时候比例也不变
x为你需要的数值,定义一下大小。
看下jdk....
JTextArea jta=new JTextArea();
jta.setRows(..)
jta.setColums(..)
constraintsChooserPanel.gridx = 0;
constraintsChooserPanel.gridy = 0;
constraintsChooserPanel.fill = java.awt.GridBagConstraints.BOTH;
constraintsChooserPanel.weightx = 1.0;
constraintsChooserPanel.weighty = 1.0;
constraintsChooserPanel.insets = new java.awt.Insets(0, 4, 4, 4);
chooserBorderPanel.add(getChooserPanel(), constraintsChooserPanel);调整下属性参数即可