【发布时间】:2017-01-10 15:49:50
【问题描述】:
我正在使用 java swing 构建一个算法可视化工具,我想将 jlabel 的高度设置为某个元素
int arr[]={6,3,2,13,4};
then
JLabel1.setSize(10, arr[0]*5);
JLabel2.setSize(10, arr[1]*5);
JLabel3.setSize(10, arr[2]*5);
JLabel4.setSize(10, arr[3]*5);
JLabel5.setSize(10, arr[4]*5);
但是当我设置尺寸时,标签扩展到底部,形成一个倒置的条形图。如何在保持 jLabels 底部对齐的同时增加高度?
The output after setting the values to jlabel
设置值的源代码
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
abc = new JLabel[]{one,two,three,four,five}; //JlabelArray
int p = Integer.parseInt(abc[0].getText());
int q = Integer.parseInt(abc[1].getText());
int r = Integer.parseInt(abc[2].getText());
int s = Integer.parseInt(abc[3].getText());
int t = Integer.parseInt(abc[4].getText());
one.setSize(20, p*10 );
one.setBackground(Color.decode("#03A9F4"));
two.setSize(20, q*10 );
two.setBackground(Color.decode("#03A9F4"));
three.setSize(20, r*10 );
three.setBackground(Color.decode("#03A9F4"));
four.setSize(20, s*10 );
four.setBackground(Color.decode("#03A9F4"));
five.setSize(20, t*10 );
five.setBackground(Color.decode("#03A9F4"));
arr = new int[]{p,q,r,s,t}; //number array to be sorted
}
夏天 问:当我设置 jLabel 的大小时,通常它会向底部增长。如何增加正 y 方向的高度?
【问题讨论】:
-
1) 为了尽快获得更好的帮助,请发帖 minimal reproducible example 或 Short, Self Contained, Correct Example。 2) 以最小尺寸提供 ASCII 艺术或 GUI 的 预期 布局的简单绘图,如果可调整大小,则具有更大的宽度和高度。
-
请同时发布确定标签位置的代码部分。
-
Draw a Graph不确定是否使用像这样的单独组件是最好的方法 - 考虑使用单个 JPanel 并使用 custom painting。或者使用图形库(例如JFreeChart) -
@Berger "请也发布您的代码的部分.." 根据定义,MCVE 包括 所有我们编译它并看到问题的必要部分,所以真的没有'也'。
-
@rama41222
I'm going to sort (animate )更有动力去研究自定义绘画选项。
标签: java swing alignment jlabel