我想用一系列变量格式化输出字符串.当我使用字符串数组时,这按预期工作:
String[] myArray = new String[3];
// fill array with strings
System.out.printf("1: %s \n2: %s \n3: %s\n", myArray);
Run Code Online (Sandbox Code Playgroud)
我想用它来打印模拟骰子投掷的结果,所以我使用了一个int数组.但是,这不起作用:
int[] myArray = new int[3];
// fill array with numbers
System.out.printf("1: %d \n2: %d \n3: %d\n", myArray);
Exception in thread "main" java.util.IllegalFormatConversionException: d != [I
Run Code Online (Sandbox Code Playgroud)
当然,我可以myArray[0]为每个元素使用等等,但这似乎并不优雅.
为什么会这样,我怎样才能达到预期的效果呢?
在写这个问题时,我已经找到了一种方法让它按照我想要的方式运行。基于此,我仍然发布这个问题,因为其他人可能会遇到类似的问题。
\n\n对于用于水平拉伸但具有固定高度的内容的 JTabbedPane 的大小调整,我遇到以下问题。这两个选项setTabLayoutPolicy()似乎都会改变内容的高度,并且不会\xe2\x80\x99t始终以其首选或最小高度显示它。
在默认情况下WRAP_TAB_LAYOUT,选项卡窗格的首选大小不会考虑选项卡当前是否实际堆叠或彼此相邻显示,如此处、此处和本错误报告中所述。如果选项卡式窗格基于堆叠选项卡进行布局,则当有足够的空间让选项卡彼此相邻显示时,每添加一个选项卡,内容的高度就会增加大约 20 像素(一个选项卡的高度)。如果选项卡式窗格是基于彼此相邻显示的选项卡进行布局的,则当选项卡必须堆叠时,内容高度会降低。
当策略设置为 时SCROLL_TAB_LAYOUT,选项卡栏的高度是固定的,布局基本正确。但是,根据外观和感觉,选项卡内容的大小会减少几个像素。我发现这是由于 L&F 定义的选项卡区域的插入导致的,这些插入没有考虑到选项卡窗格的首选大小计算中(请参阅此错误报告)。设置UIManager.getDefaults().put("TabbedPane.tabAreaInsets", new Insets(0,0,0,0))适用于某些 L&F(例如 Metal),但不适用于其他 L&F(例如 Nimbus)。
好像只有以下几个选项:
\n\nBasicTabbedPaneUI这看起来不太好是否有一种干净的方法来强制选项卡式窗格的内容始终以固定高度显示?
\n\n下面的代码和截图说明了问题
\n\nimport java.awt.BorderLayout;\nimport java.awt.Color;\nimport java.awt.Component;\nimport java.awt.Dimension;\nimport java.awt.event.ComponentAdapter;\nimport java.awt.event.ComponentEvent;\nimport javax.swing.JFrame;\nimport javax.swing.JLabel;\nimport javax.swing.JPanel;\nimport javax.swing.JTabbedPane;\nimport javax.swing.UIManager;\n\npublic class TabbedPaneTest extends JFrame {\n\n TabbedPaneTest() {\n\n …Run Code Online (Sandbox Code Playgroud)