düğmelerini kullanarak bir dikdörtgenin yeniden boyutlandırılmasıyla ilgili ev ödevi yardımı Öyleyse ödevlerim bu controlCircle programını alıp bir daire yerine bir dikdörtgen çizen bir programa dönüştürmektir. Program gerekir: kullanıcı tepki dört düğmeyi kullanarakJavaFX
- kontrol bir dikdörtgen boyut ve dikdörtgen geniş hale yapar, düğme ile ilgili olarak daha dar, daha uzun ya da daha kısa
herhangi bir yardım ve Bir dikdörtgenin uzunluğuna, genişliğine, uzunluğuna ve kısalıklarına nasıl baktıklarını, en büyük sorunum olacağını düşündüğümden büyük bir mutluluk duyacağım. İşte ControlCircle.java'nın kodu:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class controlCircle extends Application {
private CirclePane circlePane = new CirclePane();
@Override // Override the start method in the Application class
public void start(Stage primaryStage) {
// Hold two buttons in an HBox
HBox hBox = new HBox();
hBox.setSpacing(10);
hBox.setAlignment(Pos.CENTER);
Button btEnlarge = new Button("Enlarge");
Button btShrink = new Button("Shrink");
hBox.getChildren().add(btEnlarge);
hBox.getChildren().add(btShrink);
// Create and register the handler
btEnlarge.setOnAction(e -> {
circlePane.enlarge();
});
btShrink.setOnAction(new ShrinkHandler());
BorderPane borderPane = new BorderPane();
borderPane.setCenter(circlePane);
borderPane.setBottom(hBox);
BorderPane.setAlignment(hBox, Pos.CENTER);
// Create a scene and place it in the stage
Scene scene = new Scene(borderPane, 200, 150);
primaryStage.setTitle("ControlCircle"); // Set the stage title
primaryStage.setScene(scene); // Place the scene in the stage
primaryStage.show(); // Display the stage
}
class ShrinkHandler implements EventHandler<ActionEvent> {
@Override // Override the handle method
public void handle(ActionEvent e) {
circlePane.shrink();
}
}
public static void main(String[] args) {
launch(args);
}
}
class CirclePane extends StackPane {
private Circle circle = new Circle(50);
public CirclePane() {
getChildren().add(circle);
circle.setStroke(Color.BLACK);
circle.setFill(Color.WHITE);
}
public void enlarge() {
circle.setRadius(circle.getRadius() + 2);
}
public void shrink() {
circle.setRadius(circle.getRadius() > 2 ?
circle.getRadius() - 2 : circle.getRadius());
}
}
Bu [metin kutuları yerleştirerek ve boyutlandırma için kodu] (https://gist.github.com/jewelsea/2724651) ihtiyacınız olandan daha karmaşıktır ama durumunuzla ilgili bir şeyler öğrenerek öğrenebilirsiniz. – jewelsea