初学JAVA,总觉得界面很难定位,有什么技巧? 还是别从JB开始吧,JCreator也行呀! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,是呀,,,应该从aplication开始学呀,,,, JBUILDER9支持拖动控件布局,还是比较方便的,不过我建议楼主还是多用用布局管理器,多用就熟悉了。推荐一本书:〈精通 Java Swing程序设计〉,讲gui非常详细,会对你有大帮助。 楼主想法和我差不多,我想好了,多写APPLET,多写那几个布局管理器,我想熟练了到时候的问题自然就可以解决了! 支持大家的发言,一开始学习,不要依赖工具。尤其是java这样优秀的能够说的明白的语言 澄清:初学JAVA为什么要从编写gui开始 gui用手写会累死人的,多练习吧 学习JAVA为什么不能从GUI开始!!我现在就要用JAVA写一个系统了,我不能从头到尾重新学习啊!!而且我认为从那里开始并不重要,我已经有C#基础,对面向对象有了解,从GUI开始学习JAVA最终也会达到目的。 我也不喜欢用布局管理啊!你可以用setlocation();//这个是为控件定位和用setsize();//这个是设控件的在小!我觉得没有需要用布局时就不用布局,用这种方法很好用!有时也可以跟布局一起用! 还有你要用我这种方法时你要把布局管理设为null; 例如:这个界面我就是用那两个方法做的!楼主可以看看!import javax.swing.*;import java.awt.*;import java.applet.*;public class Ex4_18{ JFrame main_jf=new JFrame(); JPanel jp=new JPanel(); JLabel jlb1=new JLabel("Customer Care Executive Performance Sheet"); JLabel jlb2=new JLabel("Name:"); JLabel jlb3=new JLabel("Grade:"); JLabel jlb4=new JLabel("Performance Criteria:"); JLabel jlb5=new JLabel("Rating"); JLabel jlbline1=new JLabel("-----------------------------------------------------------"); JLabel jlbline2=new JLabel("-------------------------------"); JLabel jlbline3=new JLabel("--------"); JTextField jtf=new JTextField(10); ButtonGroup g=new ButtonGroup(); JRadioButton jrb1=new JRadioButton("L1"); JRadioButton jrb2=new JRadioButton("L2"); String str[]={"Customer Statisfacfion"}; JComboBox jcb=new JComboBox(str); String str2[]={"Outstanding","Excellent","Good","Poor"}; JList jl=new JList(str2); public Ex4_18() { main_jf.getContentPane().add(jp); jp.setLayout(null); jp.add(jlb1); jp.add(jlbline1); jp.add(jlb2); jp.add(jtf); jp.add(jlb3); g.add(jrb1); g.add(jrb2); jp.add(jrb1); jp.add(jrb2); jp.add(jlb4); jp.add(jlb5); jp.add(jlbline2); jp.add(jlbline3); jp.add(jcb); jp.add(jl); jlb1.setLocation(130,30); jlb1.setSize(300,20); jlbline1.setLocation(130,40); jlbline1.setSize(400,20); jlb2.setLocation(20,80); jlb2.setSize(60,20); jtf.setLocation(400,80); jtf.setSize(150,20); jlb3.setLocation(20,100); jlb3.setSize(60,20); jrb1.setLocation(400,100); jrb1.setSize(60,20); jrb2.setLocation(470,100); jrb2.setSize(60,20); jlb4.setLocation(20,120); jlb4.setSize(200,20); jlb5.setLocation(400,120); jlb5.setSize(60,20); jlbline2.setLocation(20,140); jlbline2.setSize(200,20); jlbline3.setLocation(400,140); jlbline3.setSize(60,20); jcb.setLocation(20,160); jcb.setSize(180,20); jl.setLocation(400,160); jl.setSize(150,80); main_jf.setSize(600,300); main_jf.setResizable(false); main_jf.setVisible(true); } public static void main(String args[]) { Ex4_18 Obj=new Ex4_18(); }} 其实gui是java的一大弱点,但java的布局管理器又是其一大优点它那种组件的分层结构是其他如vb,delphi之类所不能比拟最笨的办法:把组件布局用setlayout()设为null然后用setbounds()设置被加组件的位子最后安装组件 不会阿你选xylayout用坐标来定位不就行了 可以自由拖动 可以与delphi媲美 晕,如果按照楼上的所说,都是将layout设为null,那么就必须将框架对象设成resizable=false了吧,那样也只能设计出窗口固定大小不可变的了,因为一旦大小变动之后其中的组件仍然维持他的位置和大小,相应的窗口会很难看,我想布局管理器可能就解决了这个问题 我也是初学,和楼主也有同感,我发现setlocation在有的jre上不会起作用,当窗口大小一变就乱套了 java是不好定位的呀,没有那些语言好定位 不会吧,用Elipse吧我BS你,如果连布局都用不好,还学什么JAVA, 学最复杂的GridBagLayout,然后辅助以FlowLayout,BorderLayout其他的布局可以不学. 哥们:我要学习java请问最好先学什么呀?用什么书最好!谢谢!指教~~ 清华大学出版社耿祥义《JAVA2基础实用教程2版》好好看吧。。 瞎说什么呀,我推荐你看一下<<JAVA编程思想>> 不好定位,设置layout= null;要想定位,排好控件,设置layout=GridBagLayout 我学校开JAVA课程就用记事本演示,教了一个学期连语法都没教完,简直白痴。常常看到同学对着课本查ClassNotFoundException怎么拼,不知道说什么好。 不好定位,设置layout= null;放在那里,他就显示在那里,JBUILDER还是很方便啊。 话说java读取wav中的数据块应该用神马类型存储阿? JAVA SE 将大长度的byte[]数组按照数组中值为指定的两个数值分割为集合 Finally 块未正常完成 的错误 怎样对junit的动作进行监控? 看看这段代码,关于Http的问题,很不解 string缓冲区问题 请大家帮忙,看看怎么把这个字节数组变成中文,谢谢! 极度困惑小知识 java是如何控制打印的??? !!!!静态方法,内部类问题!!!!! 二进制怎么转换为ascii码值
到时候的问题自然就可以解决了!
尤其是java这样优秀的能够说的明白的语言
和用setsize();//这个是设控件的在小!我觉得没有需要用布局时就不用布局,
用这种方法很好用!
有时也可以跟布局一起用!
楼主可以看看!
import javax.swing.*;
import java.awt.*;
import java.applet.*;public class Ex4_18
{
JFrame main_jf=new JFrame();
JPanel jp=new JPanel();
JLabel jlb1=new JLabel("Customer Care Executive Performance Sheet");
JLabel jlb2=new JLabel("Name:");
JLabel jlb3=new JLabel("Grade:");
JLabel jlb4=new JLabel("Performance Criteria:");
JLabel jlb5=new JLabel("Rating");
JLabel jlbline1=new JLabel("-----------------------------------------------------------");
JLabel jlbline2=new JLabel("-------------------------------");
JLabel jlbline3=new JLabel("--------");
JTextField jtf=new JTextField(10);
ButtonGroup g=new ButtonGroup();
JRadioButton jrb1=new JRadioButton("L1");
JRadioButton jrb2=new JRadioButton("L2");
String str[]={"Customer Statisfacfion"};
JComboBox jcb=new JComboBox(str);
String str2[]={"Outstanding","Excellent","Good","Poor"};
JList jl=new JList(str2);
public Ex4_18()
{
main_jf.getContentPane().add(jp);
jp.setLayout(null);
jp.add(jlb1);
jp.add(jlbline1);
jp.add(jlb2);
jp.add(jtf);
jp.add(jlb3);
g.add(jrb1);
g.add(jrb2);
jp.add(jrb1);
jp.add(jrb2); jp.add(jlb4);
jp.add(jlb5);
jp.add(jlbline2);
jp.add(jlbline3);
jp.add(jcb);
jp.add(jl);
jlb1.setLocation(130,30);
jlb1.setSize(300,20);
jlbline1.setLocation(130,40);
jlbline1.setSize(400,20);
jlb2.setLocation(20,80);
jlb2.setSize(60,20);
jtf.setLocation(400,80);
jtf.setSize(150,20);
jlb3.setLocation(20,100);
jlb3.setSize(60,20);
jrb1.setLocation(400,100);
jrb1.setSize(60,20);
jrb2.setLocation(470,100);
jrb2.setSize(60,20);
jlb4.setLocation(20,120);
jlb4.setSize(200,20);
jlb5.setLocation(400,120);
jlb5.setSize(60,20);
jlbline2.setLocation(20,140);
jlbline2.setSize(200,20);
jlbline3.setLocation(400,140);
jlbline3.setSize(60,20);
jcb.setLocation(20,160);
jcb.setSize(180,20);
jl.setLocation(400,160);
jl.setSize(150,80);
main_jf.setSize(600,300);
main_jf.setResizable(false);
main_jf.setVisible(true);
}
public static void main(String args[])
{
Ex4_18 Obj=new Ex4_18();
}
}
它那种组件的分层结构是其他如vb,delphi之类所不能比拟
最笨的办法:
把组件布局用setlayout()设为null
然后用setbounds()设置被加组件的位子
最后安装组件
你选xylayout用坐标来定位
不就行了 可以自由拖动 可以与delphi媲美
我BS你,如果连布局都用不好,还学什么JAVA,
用什么书最好!谢谢!指教~~
要想定位,排好控件,设置layout=GridBagLayout
放在那里,他就显示在那里,JBUILDER还是很方便啊。