Tag:

在Java中读取和写入控制台

在Java中用于读取和写入控制台的最有效的类是什么?

Java – 非静态类的扩展静态类

我有一类’字符’,字符是非静态的。 我希望我的播放器类扩展Character但也是静态的。 我基本上希望所有其他对象和类能够访问播放器而无需创建和传递播放器实例。 实现这一目标的最佳原因是什么?

在junit测试中获取一个类作为javax.lang.model.element.Element

我想测试我的实用程序类ElementUtils但我不知道如何将类作为元素。 在AnnotationProcessors中,我使用以下代码获取元素 Set elements = roundEnvironment.getElementsAnnotatedWith(annotation); 但由于RoundEnvironment在测试中不可用,因此不能选择。 有没有办法将类作为javax.lang.model.element.Element?

创建类对象的类

我是新手,我正在学习webdriver和java :)我有初学者的问题。 我创建了类locators(findBy)和使用此定位器的方法( senKeys() , click()等) – 我使用pagefactory 。 HomePage LoginPage … 我的主类AddNewLeadTest是一个类,我用类定位器初始化方法,我这样做: HomePage hp = new HomePage(driver); hp.loginButton.click() 我想这样做: HomePage.loginButton.click() 它更快,我不必为每个xxxPage类在AddNewLeadTest创建新对象。 我应该如何编写类/方法来简化创建新对象? 我找到了我想在我的项目中使用的示例(在C#中),但我不知道如何在Java中使用它。 见下文。 public static class Pages { private static T GetPage() where T : new() { var page = new T(); PageFactory.InitElements(Browser.Driver, page); return page; } public static AboutPage About { get […]

等待后台进程以不同类的SwingWorker结束

我正在将文件导入项目,一旦用户单击选择此文件,我会做一些事情,包括通过命令行。 我用这种方法完成了它: p = Runtime.getRuntime().exec(command, null, new File(directory)); p.waitFor(); 由于此过程可能需要一些时间,因此我决定在新框架中显示一个进度条弹出窗口,显示当前进程的所有输出。 我跟随@trashgod的代码改编为我的项目。 出于这个问题的目的,让我说我完全按照原样。 我只是想在命令工作时出现这个窗口,然后关闭它自己。 我可以通过从override done方法处理帧来完成此操作。 我的问题是我正在从其他类创建这个类,而在执行它时,它继续使用代码。 例如: method1(); method2(); new SwingWorkerExample().displayGUI(); //Process continues in background method3(); 这里我的method3()正在SwingWorkerExample类的进程完成之前执行。 我该怎么解决这个问题? 我已经尝试过放在displayGUI方法的末尾了: while(!backgroundTask.isDone()){ //do nothing } 但它使整个框架不起作用或者可能冻结它。 我还尝试在backgrandtask类中创建pa全局变量后编写一个方法: public Process getProcess(){ return p; } 然后从displaGUI()调用以下内容: backgroundTask.getProcess().waitFor(); 但它返回一个空指针exception。 在显示命令窗口的输出时,我还能做什么来等待进程结束? 谢谢。 更新:这是链接代码的副本,其中包含一些更改以显示我的意思。 我不希望在进程完成之前打印第二个文本: package mcve; import java.awt.BorderLayout; import java.awt.EventQueue; import […]

为什么非静态变量不能从静态上下文引用 – reg

可能重复: 无法从静态上下文引用非静态变量(java) public class DemoJava { public class Hello { void fun() { System.out.println(“This is static fun man!!”); } } public static void main(String[] args) { Hello hello = new Hello(); hello.fun(); } } 在这个例子中,它会给我一个错误,因为我试图从静态方法访问非静态类。 精细。 例如,如果我在另一个文件中有相同的Hello类,并且我做同样的事情,它不会给我一个错误。 即使在这种情况下,我们也试图从静态方法访问非静态类。 但这并没有给出任何错误。 为什么?

Java – exception处理 – 如何重新输入无效输入

exception处理仅接受双输入。 因此,当用户输入“k”时,它会显示“错误!请输入一个数字!”。 但是,它不是允许用户重新输入输入,而是跳转到下一个输入“平均脉冲”。如何使其工作以使其保持在同一条线上并允许重新输入值? //主要课程 public class Main { //Master class public static void main( String args[] ) //Standard header for main method { kbentry input = new kbentry(); //Creates object of kbentry class System.out.print(“\nPlease enter a number for Total Impulse: ” ); //Print message to enter 1. input double totalImpulse = input.totalImpulse1(); //Holds the variable […]

为什么对接口的引用数组可以包含实现该接口的类?

我已经阅读了许multithreading来解释接口和抽象类之间的差异; 这些post特别有用: 接口和抽象类有什么区别? 和接口与抽象类(通用OO) ; 但是,我找不到任何专门解决我问题的答案。 上下文:今天在课堂上我们编写了一个接口和两个实现接口的类: public interface Animal{ // This is in its own file void move(); void makeSound(); } class Dog implements Animal{ // The rest of these are in another file public void move(){ System.out.println(“Runs.”); } public void makeSound(){ System.out.println(“Barks.”); } } class Fish implements Animal{ public void move(){ System.out.println(“Swims.”); } […]

Java – 通过对象数组在扩展类中调用函数

我有一个对象数组,其中一些使用扩展版本,其中包含基类中没有的函数。 当数组由基类定义时,如何通过数组调用该函数? 例 Shape[] shapes = new Shape[10]; shapes[0] = new Circle(10) //10 == radius, only exists in circle class which extends Shape shapes[0].getRadius(); //Gives me a compilation error as getRadius() doesn’t exist in the Shape class, only in the extended Circle class. Is there a way around this?

Java – 信号事件模式

我受到了AS3中Signals事件模式的启发,它取代了flash的原生事件。 它在性能和可读性方面都做得更好。 所以我试图用Java实现它。 这种模式的主要思想是你正在使用对象而不是类型,因此节省了找到“Dispatcher”类来处理事件调度的时间。(调度事件是向所有侦听器发送事件) 所以让我们跳转到代码中:在这个示例中,我将创建AlarmManager并处理他的警报事件。 首先,我们需要为此事件创建接口 public interface IAlarmEvent { void alarmEventHandler(String alert); } 现在事件本身: public class AlarmEvent extends Signal implements IAlarmEvent { public void alarmEventHandler(String alert) { dispatch(“alarmEventHandler”, alert); } } 这是AlarmManger: public class AlarmManager { public final AlarmEvent alarmEvent = new AlarmEvent(); public void init(){ // Dispatching the event alarmEvent.alarmEventHandler(“Wake up”); } } […]