package download;
import javax.swing.*;
import java.awt.*;
import java.net.*;
import java.io.*;
/*
* 这是我想做的练习的代码,现在只是一个界面,但是总做不出我想要的样子.
* 在我电脑上输入URL的urlField为什么几乎看不见?我想让它占到一行的3/4,
* 同样显示信息的infoArea也很小,我想让它占到行和列的3/4,即整个面积的大部分,在右下脚.
*请问我的程序问题在哪里,是不是weightx,weighty设置的不对?还有什么不合理之处敬请指教.
*/
public class Download extends JFrame{
public Download(){
super("单线程下载");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(200,200);
this.setSize(300,300);
JLabel urlLabel = new JLabel("URL:");
JTextField urlField = new JTextField(30);
JLabel infoLabel = new JLabel("下载信息:");
JTextArea infoArea = new JTextArea(100,100);
JButton sure = new JButton("下载");
JPanel pane = new JPanel();
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
pane.setLayout(gbl);
buildConstraints(constraints,0,0,1,1,0.25,0.25);
gbl.setConstraints(urlLabel, constraints);
pane.add(urlLabel);
buildConstraints(constraints,1,0,GridBagConstraints.REMAINDER,1,0.75,0.25);
gbl.setConstraints(urlField,constraints);
pane.add(urlField);
buildConstraints(constraints,0,1,1,1,0.25,0.25);
gbl.setConstraints(infoLabel, constraints);
pane.add(infoLabel);
buildConstraints(constraints,1,1,3,3,0.75,0.75);
JScrollPane sp = new JScrollPane(infoArea);
gbl.setConstraints(sp,constraints);
pane.add(sp);
buildConstraints(constraints,0,2,1,1,0.25,0.5);
gbl.setConstraints(sure, constraints);
pane.add(sure);
this.setContentPane(pane);
this.setVisible(true);
}
public void buildConstraints(GridBagConstraints g,int gx,int gy,int gw,int gh,double wx,double wy){
g.gridx = gx;
g.gridy = gy;
g.gridheight = gh;
g.gridwidth = gw;
g.weightx = wx;
g.weighty = wy;
}
public static void main(String[] args) {
new Download();
}}
import javax.swing.*;
import java.awt.*;
import java.net.*;
import java.io.*;
/*
* 这是我想做的练习的代码,现在只是一个界面,但是总做不出我想要的样子.
* 在我电脑上输入URL的urlField为什么几乎看不见?我想让它占到一行的3/4,
* 同样显示信息的infoArea也很小,我想让它占到行和列的3/4,即整个面积的大部分,在右下脚.
*请问我的程序问题在哪里,是不是weightx,weighty设置的不对?还有什么不合理之处敬请指教.
*/
public class Download extends JFrame{
public Download(){
super("单线程下载");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(200,200);
this.setSize(300,300);
JLabel urlLabel = new JLabel("URL:");
JTextField urlField = new JTextField(30);
JLabel infoLabel = new JLabel("下载信息:");
JTextArea infoArea = new JTextArea(100,100);
JButton sure = new JButton("下载");
JPanel pane = new JPanel();
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
pane.setLayout(gbl);
buildConstraints(constraints,0,0,1,1,0.25,0.25);
gbl.setConstraints(urlLabel, constraints);
pane.add(urlLabel);
buildConstraints(constraints,1,0,GridBagConstraints.REMAINDER,1,0.75,0.25);
gbl.setConstraints(urlField,constraints);
pane.add(urlField);
buildConstraints(constraints,0,1,1,1,0.25,0.25);
gbl.setConstraints(infoLabel, constraints);
pane.add(infoLabel);
buildConstraints(constraints,1,1,3,3,0.75,0.75);
JScrollPane sp = new JScrollPane(infoArea);
gbl.setConstraints(sp,constraints);
pane.add(sp);
buildConstraints(constraints,0,2,1,1,0.25,0.5);
gbl.setConstraints(sure, constraints);
pane.add(sure);
this.setContentPane(pane);
this.setVisible(true);
}
public void buildConstraints(GridBagConstraints g,int gx,int gy,int gw,int gh,double wx,double wy){
g.gridx = gx;
g.gridy = gy;
g.gridheight = gh;
g.gridwidth = gw;
g.weightx = wx;
g.weighty = wy;
}
public static void main(String[] args) {
new Download();
}}
import java.awt.*;
import java.net.*;
import java.io.*;/*
* 这是我想做的练习的代码,现在只是一个界面,但是总做不出我想要的样子.
* 在我电脑上输入URL的urlField为什么几乎看不见?我想让它占到一行的3/4,
* 同样显示信息的infoArea也很小,我想让它占到行和列的3/4,即整个面积的大部分,在右下脚.
*请问我的程序问题在哪里,是不是weightx,weighty设置的不对?还有什么不合理之处敬请指教.
*/
public class Download extends JFrame {
public Download() {
super("单线程下载");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(200, 200);
this.setSize(300, 300);
JLabel urlLabel = new JLabel("URL:");
JTextField urlField = new JTextField(30);
JLabel infoLabel = new JLabel("下载信息:");
JTextArea infoArea = new JTextArea(100, 100);
JButton sure = new JButton("下载"); JPanel pane = new JPanel();
GridBagLayout gbl = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
pane.setLayout(gbl); buildConstraints(constraints, 0, 0, 1, 1, 0, 0, GridBagConstraints.HORIZONTAL);
gbl.setConstraints(urlLabel, constraints);
pane.add(urlLabel); buildConstraints(constraints, 1, 0, 3, 1, 1, 0, GridBagConstraints.BOTH);
gbl.setConstraints(urlField, constraints);
pane.add(urlField); buildConstraints(constraints, 0, 1, 1, 1, 0, 0, GridBagConstraints.HORIZONTAL);
gbl.setConstraints(infoLabel, constraints);
pane.add(infoLabel); buildConstraints(constraints, 1, 1, 3, 3, 1, 1, GridBagConstraints.BOTH);
JScrollPane sp = new JScrollPane(infoArea);
gbl.setConstraints(sp, constraints);
pane.add(sp); buildConstraints(constraints, 0, 4, 1, 1, 0, 0, GridBagConstraints.BOTH);
gbl.setConstraints(sure, constraints);
pane.add(sure); this.setContentPane(pane);
this.setVisible(true);
} public void buildConstraints(GridBagConstraints g, int gx, int gy, int gridweight,
int gridheight, double weightx, double weighty, int fill) {
g.gridx = gx;
g.gridy = gy;
g.gridheight = gridheight;
g.gridwidth = gridweight;
g.weightx = weightx;
g.weighty = weighty;
g.fill = fill;
} public static void main(String[] args) {
new Download();
}}给你改了改~~~
另这两个参数必需和fill配合使用才有效~~希望对你有点帮助吧!