Tag: 用户界面

在WinForms应用程序中自定义标题栏/ chrome

我几乎肯定我知道这个问题的答案,但我希望有一些我忽略了。 即使在Windows XP上运行,某些应用程序似乎也具有Vista Aero的外观和感觉。 (谷歌浏览器和Windows Live照片画廊想到的例子。)我知道一个方法来完成从WinForms这将是创build一个无边界的forms,并自己绘制标题栏/button,然后覆盖WndProc ,以确保移动,resize,button点击做他们应该做的事情(我不清楚的具体事情,但可能会拉下来,给一天阅读文件。)我很好奇,如果有一个不同的,更简单的方法,我远眺。 也许我忽略了一些API调用或窗口样式? 我相信Google已经通过使用Chrome浏览器自带的窗口方式为我解答了这个问题。 如果有人有新的信息,我会把这个问题留待今天,但我相信我自己已经回答了这个问题。

WinForm UIvalidation

我需要在我的winform应用程序中实现inputvalidation。 有很多不同的数据可以input的forms,我不想通过控制forms去控制,并创buildisValid等每个项目。 别人怎么处理这个? 我发现大多数相关文章都涉及到Web Apps和/或提及企业库validation应用程序块 。 现在我承认我还没有彻底研究过ELVAB,但是对我所需要的东西来说似乎是过度的。 我目前的想法是编写一个具有各种要求的类库,并将其作为parameter passing给一个控件。 我已经有了像isValidZipCode这样的RegEx函数库,所以可能是我开始的地方。 我想要的是一个validationbutton,onClick循环通过该窗体页上的所有控件,并执行所需的validation。 我怎样才能做到这一点?

如何使用RescaleOp设置图像的大小

我正在写一个testing应用程序。 为图像设置Alpha我使用paintComponent方法。 观看下一个片段… public class TestImage extends JLabel{ public void paintComponent( Graphics g ) { super.paintComponent( g ); Graphics2D g2d=(Graphics2D)g; g2d.drawImage(this.bImage, rop, 0, 0); } public void setRescaleOp(RescaleOp rop){this.rop=rop;} } 如你看到的, g2d.drawImage(this.bImage,rop,0,0); 不允许设置宽度和高度,就像我使用g.drawImage(bImage,0,0,width,height,null); 所以问题是…在这种情况下如何设置bImage的宽度和高度? 任何有用的评论表示赞赏 安德鲁

如何访问tkinter python中不同类的variables3

我一直在寻找很多,我仍然不知道如何从python的不同类访问variables…在这种情况下,我想访问variablesself.v从PageOne类到PageTwo类..请帮助我 这是我的代码… import tkinter as tk import smtplib TITLE_FONT = ("Helvetica", 18, "bold") class SampleApp(tk.Tk): def __init__(self): tk.Tk.__init__(self) container = tk.Frame(self) container.pack(side="top", fill="both", expand=True) container.grid_rowconfigure(0, weight=1) container.grid_columnconfigure(0, weight=1) self.frames = {} for F in (StartPage, PageOne, PageTwo): frame = F(container, self) self.frames[F] = frame frame.grid(row=0, column=0, sticky="nsew") self.show_frame(StartPage) def show_frame(self, c): frame = self.frames[c] frame.tkraise() […]

一个可执行文件可以是控制台和GUI应用程序吗?

我想创build一个C#程序,可以作为CLI或GUI应用程序运行,具体取决于传入的标志。 可以这样做吗? 我发现了这些相关的问题,但他们并不完全覆盖我的情况: 如何在GUI应用程序中写入控制台 如何使用Windows程序在C ++中获取控制台输出?

ScrollView中的图像网格

我正在试图创build一个文本和图像的屏幕。 我想要像网格布局图像,如下所示,但我希望他们没有滚动function,除了由周围的ScrollView提供的。 一张图片最能说明我的问题: <ScrollView> <LinearLayout> <ImageView /> <TextView /> <GridView /> <TextView /> </LinearLayout> </ScrollView> 什么是最好的方式来显示不同数量的图像网格,其中网格没有滚动function? 请注意,禁用GridView的滚动function不起作用,因为这只是禁用滚动条,但不显示所有项目。 更新:下图显示了在GridView中禁用滚动条的样子。

Java GUI框架。 该选什么? Swing,SWT,AWT,SwingX,JGoodies,JavaFX,Apache Pivot?

java中有相当多的GUI框架,但是被认为是今天的框架呢? 以下是我对不同框架的理解,如果我错了,请纠正我。 这是一个非常松散的问题,但我仍然认为它对任何想创build丰富的gui应用程序的人都有价值。 AWT 是摆动的基础,它performance良好,但缺乏先进的组件。 如果你打算创build丰富的应用程序,AWT可能不是要走的路。 但是对于不需要丰富的用户界面的较小的gui应用程序。 这可能是完美的,因为它是一个久经考验的框架。 摇摆 如前所述基于AWT。 在起步阶段,它被认为是缓慢和错误的,并导致IBM为Eclipse创buildSWT。 然而,Java 5(或6?)Swing成为构build新应用程序的首选框架。 Swing有很多丰富的组件,但在某些领域仍然缺乏。 一个例子是没有一个全function的TreeTable组件可以进行sorting和过滤/search。 SWT 由IBM为Eclipse创build,他们似乎认为Swing当时不适合Eclipse。 本身是相当低级的,它通过JNI使用平台的本地小部件。 这与Swing和AWT无关。 他们的API有点笨重,不直观。 他们有一些像TreeTable一样的高级组件。 (但我不认为他们支持sorting和过滤框)。 SWT使用一些本地绑定(通过JNI?),互联网上的咆哮是这个框架不应该在今天的项目中使用。 (为什么不?) SwingX 基于Swing,它的使命是创build丰富的组件。 还在开发中。 (虽然不是非常活跃)。有一组非常好的组件,例如TreeTable。 但据我所知,TreeTable不支持过滤和sorting。 但是它支持高亮显示。 请注意,SwingX是组件(AFAIU),是现有Swing组件的扩展或组合 JGoodies数据 一个我一无所知的框架…它的优点和缺点是什么? 其余的Jgoodies是什么? JGoodies OTOH是关于PLAF和布局。 JavaFX的 Java / Oracle的最新旗舰。 很有希望成为开发富桌面或Web应用程序的事实标准。 Apache枢轴 它使用Java2D呈现UI,从而最大限度地减lessSwing和AWT(IMO,膨胀)遗留的影响。 (@Augustus Thoo) 它的主要重点似乎是RIA(富互联网应用程序),但它似乎也可以应用于桌面应用程序。 作为个人评论,看起来很有趣! 我特别喜欢这是一个Apache项目。 https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html Qt Jambi 用c / c ++编写的java本地包装器。 […]

将JMenuItem的名称赋给它的ActionListener

我怎样才能给我的JMenuItem的名称附加到他们的ActionListener将看? 我有一个由单个ActionListener处理的菜单系统,这些菜单中的一些项目重复名称。 这在用户端不是问题,因为很明显什么是什么; 事实上,如果他们有不同的名字,会更混乱。 但是,在我的最后,我想要标记每个项目的唯一。 创build我的项目的部分如下所示: String label = getLabel(forThisItem); JMenuItem item = new JMenuItem(label); item.setName(parentMenu.getName() + "_" + label); item.addActionListener(actionListener); parentmenu.add(item); 然后用getName()询问项目(在这个方法的范围之外),给出了我给它的名字,因为它应该,但是输出 public void actionPerformed(ActionEvent ae) { String actionPerformed = ae.getActionCommand(); System.out.println("actionPerformed: " + actionPerformed); } 是用户看到的,可能是重复的,由label指定的label ,而不是我给出的唯一名称。 我如何将正确的信息提供给ActionListener?

如何将ActionListener添加到Java中的JButton中

private JButton jBtnDrawCircle = new JButton("Circle"); private JButton jBtnDrawSquare = new JButton("Square"); private JButton jBtnDrawTriangle = new JButton("Triangle"); private JButton jBtnSelection = new JButton("Selection"); 如何将动作监听器添加到这些button,以便从主方法我可以调用操作actionperformed对他们,所以当他们被点击时,我可以在我的程序中调用他们?

Swing GUI中的validate(),revalidate()和invalidate()之间的区别

Swing组件有多种与更新屏幕布局有关的方法,特别是: validate() invalidate() revalidate() Java文档从技术angular度对这些进行了定义,但是如何使用它们并不是特别清楚。 这些之间有什么区别,你应该在什么情况下使用一个,而不是其他的?