- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的程序中似乎存在一个我一生都无法修复的错误。
这是代码:
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 还是有其他一些我遗漏的基本错误,或者是一些随机错误。谢谢
最佳答案
在 GridLayoud 中,行优先于列。来自文档:
When both the number of rows and the number of columns have been set to non-zero values, either by a constructor or by the setRows and setColumns methods, the number of columns specified is ignored. Instead, the number of columns is determined from the specified number of rows and the total number of components in the layout. So, for example, if three rows and two columns have been specified and nine components are added to the layout, they will be displayed as three rows of three columns. Specifying the number of columns affects the layout only when the number of rows is set to zero.
因此,您指定 GridLayout
有 6 行,这就是组件的布局方式。如果您只想指定一行,请将 new GridLayout(6, 7, 5, 5)
更改为 new GridLayout(1, 7, 5, 5)
。
关于java - GridLayout .add 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29954118/
我收到错误 "Caused by: java.lang.ClassCastException: androidx.gridlayout.widget.GridLayout cannot be cast
我收到错误 "Caused by: java.lang.ClassCastException: androidx.gridlayout.widget.GridLayout cannot be cast
我正在使用 gridlayout 对我的 View 进行分组。在里面,我有两列。一列有一个子项 relativelayout,另一列有一个子项 linearlayout。 我的linearlayout
我正在开发一个应用程序,我需要像提供的图像这样的布局。 我应该使用哪种布局?为什么? GridView 和有什么区别和 GridLayout ?为什么他们在遗留部分?什么是替代方案和最佳实践? 以下是
我正在尝试在我的 Android 2.2 项目中使用 GridLayout,在我的工作区中安装 gridlayout_v7 项目后,将其添加到我的项目 Android 依赖项中,为其自定义属性添加自定
我是 Android 开发的新手,所以这可能是一个简单的问题。如果是的话,我深表歉意 - 我花了很多时间进行搜索,但找不到任何有用的东西。 我正在尝试在我的项目中使用 GridLayout,但最好使用
我将 GridLayout 作为 subview ,并设置了(空)GridLayout.LayoutParams setLayoutParams(new GridLayout.LayoutParams
仅当应用程序运行某些设备时我才会收到 StackOverflowError 错误,它在其他设备上运行良好。 这是堆栈跟踪: java.lang.StackOverflowError at androi
我有一个使用 GridLayoutManager 作为布局管理器的 recyclerview,我想要实现的是如下图所示 如您所见,每一行可能仅根据项目宽度有多个项目,每个项目都是一个具有 wrap_c
我得到了Qt类,它是QQuickImageProvider的子类,这里是requestPixmap函数实现: QPixmap MyImageProvider::requestPixmap(const
我尝试将单元格添加到我的 GridLayout通过使用 Repeater .我的数据存储在一个模型中,每个元素包含两个属性: Title Value 我的目标是获得一个 GridLayout包含 Ti
以下是我的 main.qml : Window { id: window visible: true width: 800 height: 480 title:
在我的应用程序中,我希望用动态生成的按钮填充 JPanel。我为此使用了 GridBagLayout。 1.) 当我将布局管理器设置为仅用多列填充一行时,即使只有一个按钮,它也会填充整个区域,这很好。
首先,我是编程新手,这是我在 java 和一般编程方面的第一个主要作业,所以如果我做了一些非常愚蠢的事情,请告诉我,以便我可以改正这个坏习惯。 不管怎样,我目前正在尝试创建一个具有可变行数的 grid
我正在尝试用 Java 编写游戏代码,目前正在制作标题屏幕。 我想在中间放置三个按钮,并将它们放置在彼此下方。这些按钮是“播放”、“选项”和“退出”。 我使用 GridLayout 订购按钮,现在我希
帮助了解问题可能是什么。我编写了这段代码,它有操作的描述: int countPosition = 0; for (int i = 0; i params = new ArrayLi
我的布局代码及其图形表示如下所示: 它看起来是这样的: 当我尝试在网格布局中放入按钮时,它不显示。我尝试将行数和列数设置为 2,但似乎不起作用。 我想让布局看起来像这样: 这就是我的 xml 文件的样
我有一个带有 GridLayout(1, 3) 的面板,但我想集中此布局中单元格的内容(不添加面板): public MainMenu() { setLayout(new GridLa
我正在制作一个程序,它会询问您的姓名和年龄,根据您的回答,它会输出一个文本短语和适当的图像,但我的问题是我无法控制网格布局中组件的大小,因此图片顶部被切掉了,所以我只能看到一小部分 public cl
我需要为 GridLayout 制作固定大小,并在 BorderLayout 的中心部分包含 100 个按钮。边框布局的东边部分是另一个 Gridlayout,只要文本长于位于东边的当前 JTex
我是一名优秀的程序员,十分优秀!