1
在我的程序中似乎有一個錯誤,我無法修復我的生活。GridLayout .add error
下面是代碼:
import javax.swing.*;
import javax.swing.text.*;
import java.awt.*;
import java.util.*;
public class CalendarGUI extends JPanel {
ProgramCalendar currentCalendar;
GregorianCalendar sideCalendar;
String[] month = {"January", "February", "March", "April", "May", "June", "July", "August",
"September", "October", "November", "December"};
public CalendarGUI(ProgramCalendar pc){
currentCalendar = pc;
sideCalendar = new GregorianCalendar();
JPanel calendarSidePanel = new JPanel();
calendarSidePanel.setSize(400,400);
calendarSidePanel.setLayout(new BorderLayout());
//sets month
JTextPane monthText = new JTextPane();
monthText.setText(month[sideCalendar.get(Calendar.MONTH)]);
calendarSidePanel.add(monthText, BorderLayout.NORTH);
//main part of error
JPanel sideCalendarMain = new JPanel(new GridLayout(6, 7, 5, 5));
JTextPane sun = new JTextPane();
sun.setText("Sun");
sideCalendarMain.add(sun);
JTextPane mon = new JTextPane();
mon.setText("Mon");
sideCalendarMain.add(mon);
JTextPane tues = new JTextPane();
tues.setText("Tues");
sideCalendarMain.add(tues);
JTextPane wed = new JTextPane();
wed.setText("Wed");
sideCalendarMain.add(wed);
JTextPane thurs = new JTextPane();
thurs.setText("Thur");
sideCalendarMain.add(thurs);
JTextPane fri = new JTextPane();
fri.setText("Fri");
sideCalendarMain.add(fri);
JTextPane sat = new JTextPane();
sat.setText("Sat");
sideCalendarMain.add(sat);
calendarSidePanel.add(sideCalendarMain, BorderLayout.CENTER);
add(calendarSidePanel);
setSize(1000,1000);
}
}
的問題是,我認爲,這將是這樣顯示:
April
Sun Mon Tues Wed Thurs Fri Sat
而不是
April
Sun Mon
Tues Wed
Thurs Fri
Sat
當前正在顯示。
我只是濫用GridLayout或有一些其他的基本錯誤,我失蹤或是一些隨機錯誤。 謝謝
身體將包含一個日曆,所以我需要一個6x7網格來承載所有的日子。 –
然後,一旦你有足夠的組件添加,它可能會工作。就目前而言,正如文檔所說,行比列更受青睞,所以你的7個組件正在佈局以填充6行。 – Renatols
啊我明白了。謝謝。我想這是做測試失敗我的大聲笑的例子 –