導航:首頁 > 解決方法 > 關於布局管理器的問題和解決方法

關於布局管理器的問題和解決方法

發布時間:2022-04-23 01:40:49

㈠ 一道關於流式布局管理器的JAVA問題

你為什麼非用流失布局管理器,JFrame的默認容器可以通過getContentPane()方法獲取,通過paint方法重繪該容器,如何再添加其他組件呢。JFrame的默認管理器為BorderLayout布局管理器。
我的思路是:可以在JPanel繪圖,然後把JPanel容器添加到JFrame容器面板中。代碼如下。
public class first4 extends JFrame{
public first4() {
JPanel p1 = new firstPanel();
JPanel p2 = new JPanel();

JLabel label = new JLabel("哈哈");
JButton button = new JButton("提交");

p2.add(label);
p2.add(button);

this.getContentPane().add(p1);
this.getContentPane().add(p2,BorderLayout.SOUTH);
this.setSize(800,400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new first4();
}
}
class firstPanel extends JPanel{
String s = "歡迎進入";

public void paint(Graphics g) {
g.setColor(new Color(130, 135, 205));
g.drawLine(200, 160, 340, 160);
g.drawLine(420, 160, 560, 160);
g.drawLine(250, 200, 246, 218);
g.drawLine(270, 200, 260, 240);
g.drawLine(510, 200, 514, 218);
g.drawLine(490, 200, 500, 240);
g.drawRoundRect(345, 220, 70, 50, 30, 20);
g.setColor(Color.RED);
g.setFont(new Font("Dialog", Font.ITALIC + Font.BOLD, 40));
g.drawString(s, 300, 60);
g.setColor(Color.RED);
}
}

㈡ 網格布局管理器的布局問題

Java 中規定:GridLayout 當行數和列數都設置為非零值時,指定的列數將被忽略
當你是添加了17 個button 按照7行排列,就需要 17/7 需要 3列 (7行3列)
當你添加了 12 個button 是需要 12/7 要2列 所以是 7行2列

只有在21-28 個button 的時候才會是 4 列

㈢ JAVA編程布局管理器設置問題,很無解!求高手指教。

定義的類名不要和關鍵字重復了,你定義的FlowLayout已經是關鍵字了。

㈣ java 布局管理器 問題

不能,邊框布局有五個部分,每個部分只能放一個組件,假如你想在一個部分裡面放多個組件,建議你先把這幾個組件放在jpanel里,再放入邊框布局。

㈤ java布局管理器的問題!!

package my;
import java.awt.FlowLayout;import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class T extends JFrame{
JPanel j1;
JPanel j1_1;
JPanel j1_2;
JPanel j1_3;
JButton J1_1_1;
JButton J1_1_2;
JButton J1_1_3;
JButton J1_2_1;
JButton J1_2_2;
JButton J1_3_1;

public T() {
// TODO Auto-generated constructor stub
j1=(JPanel)this.getContentPane();
j1_1=new JPanel();
J1_1_1=new JButton("1");
J1_1_2=new JButton("2");
J1_1_3=new JButton("3");
j1_1.add(J1_1_1);
j1_1.add(J1_1_2);
j1_1.add(J1_1_3);
j1_1.setLayout(new FlowLayout());
j1_2=new JPanel();
J1_2_1=new JButton("4");
J1_2_2=new JButton("5");
j1_2.add(J1_2_1);
j1_2.add(J1_2_2);
j1_2.setLayout(new FlowLayout());
j1_3=new JPanel();
J1_3_1=new JButton("6");
j1_3.add(J1_3_1);
j1_3.setLayout(new FlowLayout());
j1.add(j1_1);
j1.add(j1_2);
j1.add(j1_3);
j1.setLayout(new GridLayout(3, 1));
this.pack();
this.setVisible(true);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}
public static void main(String[] args) {
new T();
}

}

看看,有什麼問題么

㈥ java SE中關於布局管理器和組件大小的問題。

你把JFrame設置個BorderLayout,把JPanel放在North里,JPanel就會自動調整大小了。
至於JPanel里的布局,不知你出於什麼特殊理由,單純需要重疊的話應該有合適的布局管理器。另外還有個思路,改變一下你的設計方法,可能就有更簡單的方案。實際上很多設計中的需求以前就有很多人遇到了並且作出了好的方案,甚至已經是標准做法,所以多學習參考一下,避免重新發明輪子。
總之,從你的問題的描述看,感覺你的思路可能有問題。

㈦ 在學習Java布局管理器時遇到的問題

你好,你看看你的setLayout應該是誰調用的,應該是frame.setLayout(...),而不是直接寫setLayout.

直接寫的話,相當於在WhthoutBook中調用setLayout,但是這個方法不存在,所以會報錯,說不能在靜態方法(main方法)中調用非靜態的方法

㈧ Java布局管理器問題

this.add(jb1,BorderLayout.CENTER);
this.add(jb2,BorderLayout.NORTH);
this.add(jb2,BorderLayout.EAST);
this.add(jb2,BorderLayout.SOUTH);
this.add(jb2,BorderLayout.WEST);

並且由於你的類名也叫BorderLayout ,所以BorderLayout.CENTER..等方位的值都是null.

預設的狀態下,都會放到中間. 最後的覆蓋前面的.所以最後只顯示出1個jb2.並且居中

修改後的效果圖

importjava.awt.BorderLayout;

importjavax.swing.JButton;
importjavax.swing.JFrame;

//注意類名
{


//定義組件
JButtonjb1,jb2,jb3,jb4,jb5;

publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
BorderLayoutDemobl=newBorderLayoutDemo();
}

publicBorderLayoutDemo(){
//創建組件
jb1=newJButton("中部");
jb2=newJButton("北部");
jb3=newJButton("東部");
jb4=newJButton("南部");
jb5=newJButton("西部");

//添加組件
this.add(jb1,BorderLayout.CENTER);
this.add(jb2,BorderLayout.NORTH);
this.add(jb3,BorderLayout.EAST);
this.add(jb4,BorderLayout.SOUTH);
this.add(jb5,BorderLayout.WEST);

//設置窗口屬性
this.setTitle("邊界布局案例");
this.setSize(500,400);
this.setLocation(600,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}

㈨ swing的布局管理器沒效果

答: 修改後的完成效果圖

importjava.awt.BorderLayout;

importjavax.swing.JFrame;
importjavax.swing.JLabel;

publicclassLogin{
publicLogin(){
JFramejframe=newJFrame("Login");
jframe.setLayout(newBorderLayout());
JLabeljl1=newJLabel("東");
JLabeljl2=newJLabel("西");
JLabeljl3=newJLabel("南",JLabel.CENTER);//文字在中
JLabeljl4=newJLabel("北",JLabel.CENTER);
JLabeljl5=newJLabel("中",JLabel.CENTER);
jframe.add(jl1,BorderLayout.EAST);
jframe.add(jl2,BorderLayout.WEST);
jframe.add(jl3,BorderLayout.SOUTH);
jframe.add(jl4,BorderLayout.NORTH);
jframe.add(jl5,BorderLayout.CENTER);//把此處的jl4修改成jl5
jframe.setSize(230,230);
jframe.setLocationRelativeTo(null);//窗口居中
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setVisible(true);
}
publicstaticvoidmain(String[]args){
newLogin();
}
}

閱讀全文

與關於布局管理器的問題和解決方法相關的資料

熱點內容
中式棉襖製作方法圖片 瀏覽:63
五菱p1171故障碼解決方法 瀏覽:858
男士修護膏使用方法 瀏覽:546
電腦圖標修改方法 瀏覽:607
濕氣怎麼用科學的方法解釋 瀏覽:537
910除以26的簡便計算方法 瀏覽:805
吹東契奇最簡單的方法 瀏覽:704
對腎臟有好處的食用方法 瀏覽:98
電腦四線程內存設置方法 瀏覽:512
數字電路通常用哪三種方法分析 瀏覽:13
實訓課程的教學方法是什麼 瀏覽:525
苯甲醇乙醚鑒別方法 瀏覽:82
蘋果手機微信視頻聲音小解決方法 瀏覽:700
控制箱的連接方法 瀏覽:75
用什麼簡單的方法可以去痘 瀏覽:789
快速去除甲醛的小方法你知道幾個 瀏覽:803
自行車架尺寸測量方法 瀏覽:124
石磨子的製作方法視頻 瀏覽:152
行善修心的正確方法 瀏覽:403
土豆燉雞湯的正確方法和步驟 瀏覽:276