我希望以public class Window extends Canvas{
private static final long serialVersionUID = 1L;
private JFrame frame;
public Window(BufferedImage icon){
this.setMinimumSize(new Dimension(128, 128));
this.setMaximumSize(new Dimension(128, 128));
this.setPreferredSize(new Dimension(128, 128));
this.setSize(128, 128);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(this, BorderLayout.CENTER);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
if(icon != null){
frame.setIconImage(icon);
}
}}
这种格式显示:
“文件名大小”;
listbox
我该怎样做才能使它在右边对齐?
答案 0 :(得分:2)
使用ListView
控件,而不是允许列和许多其他功能。
首先添加控件,然后选择它并转到控件的属性并将查看更改为详细信息。这将允许您查看具有可调整大小的列名称的列表。
接下来,创建两列(一个用于文件名,另一个用于文件大小)或者在您的情况下可能是什么。要执行此操作,请在属性窗口中转到“列”并单击它以获取允许您添加列的对话框窗口。
最后,这里有一些关于如何使用ListView
的示例代码。
private void Form1_Load(object sender, EventArgs e)
{
var fileListForExample = Directory.GetFiles(@"C:\");
foreach (var item in fileListForExample)
{
FileInfo fileInfo = new FileInfo(item);
var lstItem = new ListViewItem(Path.GetFileName(item));
lstItem.SubItems.Add(fileInfo.Length.ToString());
var itemAdded = listView1.Items.Add(lstItem);
}
}
答案 1 :(得分:0)
您可以在ListBox中手动绘制项目 例如:
public Form1()
{
//InitializeComponent();
this.Width = 500;
var listBox = new ListBox { Parent = this, Width = 400, Height = 250 };
listBox.DrawMode = DrawMode.OwnerDrawFixed;
var files = new DirectoryInfo(".").GetFiles();
listBox.DataSource = files;
listBox.DrawItem += (o, e) =>
{
e.Graphics.DrawString(files[e.Index].Name, listBox.Font, Brushes.Black, e.Bounds);
var length = files[e.Index].Length.ToString();
var size = e.Graphics.MeasureString(length, listBox.Font);
e.Graphics.DrawString(length, listBox.Font,
Brushes.Black, e.Bounds.Width - size.Width, e.Bounds.Y);
};
}