Java 从另一个包中获取价值
我想从“应用程序”包中得到一个值,并在“包”包中使用它,但我的方法行不通。我希望“packet”包中的lblCal与“application”包中的loppkcal或lblKcal具有相同的值。 如果我的代码看起来像狗屎,我很抱歉 我还提到arvutaNuppVajutus是行动的按钮 我在代码中添加了注释,我的意思是(“应用程序”包底部有注释) 这是我想从中获得价值的“应用程序”包Java 从另一个包中获取价值,java,label,fxml,settext,Java,Label,Fxml,Settext,我想从“应用程序”包中得到一个值,并在“包”包中使用它,但我的方法行不通。我希望“packet”包中的lblCal与“application”包中的loppkcal或lblKcal具有相同的值。 如果我的代码看起来像狗屎,我很抱歉 我还提到arvutaNuppVajutus是行动的按钮 我在代码中添加了注释,我的意思是(“应用程序”包底部有注释) 这是我想从中获得价值的“应用程序”包 package application; import javafx.collections.FXCollec
package application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
public class MainControll {
ObservableList<String> Sugu = FXCollections.observableArrayList("Mees", "Naine");
ObservableList<String> Aktiivsus = FXCollections.observableArrayList("Puudulik", "Madal", "Keskmine", "Kõrge");
ObservableList<String> Goal = FXCollections.observableArrayList("Kaalu langetamine", "Kaalu säilitamine",
"Kaalu tõstmine");
@FXML
private TextField txtPikkus;
@FXML
private TextField txtKaal;
@FXML
private TextField txtVanus;
@FXML
private ComboBox cbAktiivsus;
@FXML
private ComboBox cbSugu;
@FXML
private ComboBox cbValik;
@FXML
public static Label lblKcal;
@FXML
public Label lblValk;
@FXML
public Label lblSysi;
@FXML
public Label lblRasv;
@FXML
private Label lblVigaPikk;
@FXML
private Label lblVigaKaal;
@FXML
private Label lblVigaVanus;
@FXML
private Label lblVigaAktiivsus;
@FXML
private Label lblVigaSugu;
@FXML
private Label lblVigaGoal;
@FXML
private void initialize() {
cbSugu.setItems(Sugu);
cbAktiivsus.setItems(Aktiivsus);
cbValik.setItems(Goal);
}
public void arvutaNuppVajutus() {
double pikk = 0;
double kaal = 0;
double vanus = 0;
try {
pikk = Double.parseDouble(txtPikkus.getText());
} catch (NumberFormatException e) {
lblVigaPikk.setText("Lisa pikkus numbrites!");
}
try {
kaal = Double.parseDouble(txtKaal.getText());
} catch (NumberFormatException e) {
lblVigaKaal.setText("Lisa kaal numbrites!");
}
try {
vanus = Double.parseDouble(txtVanus.getText());
} catch (NumberFormatException e) {
lblVigaVanus.setText("Lisa vanus numbrites!");
}
double esikcal = 0;
double keskkcal = 0;
int loppkcal = 0;
int sysivesik;
try {
if (cbSugu.getSelectionModel().getSelectedItem().equals("Mees")) {
esikcal = 10 * kaal + 6.25 * pikk - 5 * vanus + 5;
}
if (cbSugu.getSelectionModel().getSelectedItem().equals("Naine")) {
esikcal = 10 * kaal + 6.25 * pikk - 5 * vanus - 161;
}
} catch (NullPointerException e) {
lblVigaSugu.setText("Unustasid soo lisamata!");
}
try {
while (cbAktiivsus.getSelectionModel().getSelectedItem().equals("Puudulik")) {
keskkcal = 1.0 * esikcal;
break;
}
while (cbAktiivsus.getSelectionModel().getSelectedItem().equals("Madal")) {
keskkcal = 1.4 * esikcal;
break;
}
while (cbAktiivsus.getSelectionModel().getSelectedItem().equals("Keskmine")) {
keskkcal = 1.6 * esikcal;
break;
}
while (cbAktiivsus.getSelectionModel().getSelectedItem().equals("Kõrge")) {
keskkcal = 1.8 * esikcal;
break;
}
} catch (NullPointerException e) {
lblVigaAktiivsus.setText("Unustasid aktiivsuse valimata!");
}
try {
if (cbValik.getSelectionModel().getSelectedItem().equals("Kaalu langetamine")) {
loppkcal = (int) (keskkcal - (keskkcal * 0.1));
}
if (cbValik.getSelectionModel().getSelectedItem().equals("Kaalu säilitamine")) {
loppkcal = (int) keskkcal;
}
if (cbValik.getSelectionModel().getSelectedItem().equals("Kaalu tõstmine")) {
loppkcal = (int) (keskkcal + (keskkcal * 0.1));
}
} catch (NullPointerException e) {
lblVigaGoal.setText("Vali eesmärk!");
}
lblKcal.setText((Double.toString(loppkcal)) + " kcal"); //Wanna do the same as i have done here, in the "packet" package to lblCal.
lblValk.setText((Double.toString(kaal * 2)) + " g");
lblRasv.setText((Double.toString(kaal)) + " g");
sysivesik = (int) (loppkcal - (kaal * 8) - (kaal * 9)) / 4;
lblSysi.setText((Double.toString(sysivesik)) + " g");
}
public void pressButton(ActionEvent event) throws Exception {
try {
FXMLLoader fxmlLoader = new FXMLLoader();
Parent root1 = (Parent) fxmlLoader.load(getClass().getResource("/packet/PaevikInterface.fxml"));
Stage stage = new Stage();
stage.setScene(new Scene(root1));
stage.show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
包应用;
导入javafx.collections.FXCollections;
导入javafx.collections.ObservableList;
导入javafx.event.ActionEvent;
导入javafx.fxml.fxml;
导入javafx.fxml.fxmloader;
导入javafx.scene.Parent;
导入javafx.scene.scene;
导入javafx.scene.control.Button;
导入javafx.scene.control.ChoiceBox;
导入javafx.scene.control.ComboBox;
导入javafx.scene.control.Label;
导入javafx.scene.control.TextField;
导入javafx.stage.stage;
公共类主控{
ObservableList Sugu=FXCollections.observableArrayList(“Mees”、“Naine”);
ObservableList Aktivsus=FXCollections.observableArrayList(“Puudulik”、“Madal”、“Keskmine”、“Kõrge”);
ObservableList Goal=FXCollections.observableArrayList(“Kaalu langetamine”、“Kaalu säilitamine”,
“Kaalu tõstmine”);
@FXML
私人TextField txtPikkus;
@FXML
私人TextField txtKaal;
@FXML
私人TextField txtVanus;
@FXML
专用组合框Cbaktivsus;
@FXML
专用组合框cbSugu;
@FXML
专用组合框cbValik;
@FXML
公共静态标签lblKcal;
@FXML
公共标签lblValk;
@FXML
公共标签lblSysi;
@FXML
公共标签lblRasv;
@FXML
自有品牌lblVigaPikk;
@FXML
自有品牌lblVigaKaal;
@FXML
自有品牌lblVigaVanus;
@FXML
自有品牌lblvigaaktivsus;
@FXML
自有品牌lblVigaSugu;
@FXML
自有品牌lblVigaGoal;
@FXML
私有void初始化(){
cbSugu.setItems(Sugu);
Cbaktivsus.集合项目(Aktivsus);
cbValik.setItems(目标);
}
公共无效arvutaNuppVajutus(){
双pikk=0;
双kaal=0;
双钒=0;
试一试{
pikk=Double.parseDouble(txtpikus.getText());
}捕获(数字格式){
lblVigaPikk.setText(“Lisa pikkus numbrites!”);
}
试一试{
kaal=Double.parseDouble(txtKaal.getText());
}捕获(数字格式){
lblVigaKaal.setText(“Lisa kaal numbrites!”);
}
试一试{
vanus=Double.parseDouble(txtVanus.getText());
}捕获(数字格式){
setText(“Lisa vanus numbrites!”);
}
双esikcal=0;
双keskkcal=0;
int-loppkcal=0;
int sysivesik;
试一试{
if(cbSugu.getSelectionModel().getSelectedItem().equals(“Mees”)){
esikcal=10*kaal+6.25*pikk-5*vanus+5;
}
如果(cbSugu.getSelectionModel().getSelectedItem().equals(“Naine”)){
esikcal=10*kaal+6.25*pikk-5*vanus-161;
}
}捕获(NullPointerException e){
lblVigaSugu.setText(“Unustasid soo lisamata!”);
}
试一试{
而(cbAktiivsus.getSelectionModel().getSelectedItem().equals(“Puudulik”)){
keskkcal=1.0*esikcal;
打破
}
而(cbAktiivsus.getSelectionModel().getSelectedItem().equals(“Madal”)){
keskkcal=1.4*esikcal;
打破
}
而(cbAktiivsus.getSelectionModel().getSelectedItem().equals(“Keskmine”)){
keskkcal=1.6*esikcal;
打破
}
而(cbAktiivsus.getSelectionModel().getSelectedItem().equals(“Kõrge”)){
keskkcal=1.8*esikcal;
打破
}
}捕获(NullPointerException e){
lblvigaaktivsus.setText(“Unustasid aktiivsuse valimata!”);
}
试一试{
如果(cbValik.getSelectionModel().getSelectedItem().equals(“Kaalu langetamine”)){
lopkcal=(int)(keskkcal-(keskkcal*0.1));
}
if(cbValik.getSelectionModel().getSelectedItem().equals(“Kaalu säilitamine”)){
loppkcal=(int)keskkcal;
}
if(cbValik.getSelectionModel().getSelectedItem().equals(“Kaalu tõstmine”)){
lopkcal=(int)(keskkcal+(keskkcal*0.1));
}
}捕获(NullPointerException e){
lblvigagool.setText(“Vali eesmärk!”);
}
lblKcal.setText((Double.toString(loppkcal))+“kcal”);//希望执行与我在这里所做的相同的操作,在lblCal的“packet”包中。
lblValk.setText((Double.toString(kaal*2))+“g”);
lblRasv.setText((Double.toString(kaal))+“g”);
sysivesik=(int)(loppkcal-(kaal*8)-(kaal*9))/4;
lblSysi.setText((Double.toString(sysivesik))+“g”);
}
public void pressButton(ActionEvent事件)引发异常{
试一试{
FXMLLoader FXMLLoader=新的FXMLLoader();
父root1=(父)fxmloader.load(getClass().getResource(“/packet/PaevikInterface.fxml”);
阶段=新阶段();
舞台场景(新场景(root1));
stage.show();
}捕获(例外e){
e、 printStackTrace();
}
}
}
如果有帮助的话,这里还有FXML代码
“应用程序”包中的FXML代码
package application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
public class MainControll {
ObservableList<String> Sugu = FXCollections.observableArrayList("Mees", "Naine");
ObservableList<String> Aktiivsus = FXCollections.observableArrayList("Puudulik", "Madal", "Keskmine", "Kõrge");
ObservableList<String> Goal = FXCollections.observableArrayList("Kaalu langetamine", "Kaalu säilitamine",
"Kaalu tõstmine");
@FXML
private TextField txtPikkus;
@FXML
private TextField txtKaal;
@FXML
private TextField txtVanus;
@FXML
private ComboBox cbAktiivsus;
@FXML
private ComboBox cbSugu;
@FXML
private ComboBox cbValik;
@FXML
public static Label lblKcal;
@FXML
public Label lblValk;
@FXML
public Label lblSysi;
@FXML
public Label lblRasv;
@FXML
private Label lblVigaPikk;
@FXML
private Label lblVigaKaal;
@FXML
private Label lblVigaVanus;
@FXML
private Label lblVigaAktiivsus;
@FXML
private Label lblVigaSugu;
@FXML
private Label lblVigaGoal;
@FXML
private void initialize() {
cbSugu.setItems(Sugu);
cbAktiivsus.setItems(Aktiivsus);
cbValik.setItems(Goal);
}
public void arvutaNuppVajutus() {
double pikk = 0;
double kaal = 0;
double vanus = 0;
try {
pikk = Double.parseDouble(txtPikkus.getText());
} catch (NumberFormatException e) {
lblVigaPikk.setText("Lisa pikkus numbrites!");
}
try {
kaal = Double.parseDouble(txtKaal.getText());
} catch (NumberFormatException e) {
lblVigaKaal.setText("Lisa kaal numbrites!");
}
try {
vanus = Double.parseDouble(txtVanus.getText());
} catch (NumberFormatException e) {
lblVigaVanus.setText("Lisa vanus numbrites!");
}
double esikcal = 0;
double keskkcal = 0;
int loppkcal = 0;
int sysivesik;
try {
if (cbSugu.getSelectionModel().getSelectedItem().equals("Mees")) {
esikcal = 10 * kaal + 6.25 * pikk - 5 * vanus + 5;
}
if (cbSugu.getSelectionModel().getSelectedItem().equals("Naine")) {
esikcal = 10 * kaal + 6.25 * pikk - 5 * vanus - 161;
}
} catch (NullPointerException e) {
lblVigaSugu.setText("Unustasid soo lisamata!");
}
try {
while (cbAktiivsus.getSelectionModel().getSelectedItem().equals("Puudulik")) {
keskkcal = 1.0 * esikcal;
break;
}
while (cbAktiivsus.getSelectionModel().getSelectedItem().equals("Madal")) {
keskkcal = 1.4 * esikcal;
break;
}
while (cbAktiivsus.getSelectionModel().getSelectedItem().equals("Keskmine")) {
keskkcal = 1.6 * esikcal;
break;
}
while (cbAktiivsus.getSelectionModel().getSelectedItem().equals("Kõrge")) {
keskkcal = 1.8 * esikcal;
break;
}
} catch (NullPointerException e) {
lblVigaAktiivsus.setText("Unustasid aktiivsuse valimata!");
}
try {
if (cbValik.getSelectionModel().getSelectedItem().equals("Kaalu langetamine")) {
loppkcal = (int) (keskkcal - (keskkcal * 0.1));
}
if (cbValik.getSelectionModel().getSelectedItem().equals("Kaalu säilitamine")) {
loppkcal = (int) keskkcal;
}
if (cbValik.getSelectionModel().getSelectedItem().equals("Kaalu tõstmine")) {
loppkcal = (int) (keskkcal + (keskkcal * 0.1));
}
} catch (NullPointerException e) {
lblVigaGoal.setText("Vali eesmärk!");
}
lblKcal.setText((Double.toString(loppkcal)) + " kcal"); //Wanna do the same as i have done here, in the "packet" package to lblCal.
lblValk.setText((Double.toString(kaal * 2)) + " g");
lblRasv.setText((Double.toString(kaal)) + " g");
sysivesik = (int) (loppkcal - (kaal * 8) - (kaal * 9)) / 4;
lblSysi.setText((Double.toString(sysivesik)) + " g");
}
public void pressButton(ActionEvent event) throws Exception {
try {
FXMLLoader fxmlLoader = new FXMLLoader();
Parent root1 = (Parent) fxmlLoader.load(getClass().getResource("/packet/PaevikInterface.fxml"));
Stage stage = new Stage();
stage.setScene(new Scene(root1));
stage.show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane prefHeight="600.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainControll">
<children>
<Button fx:id="btnArvuta" layoutX="305.0" layoutY="281.0" mnemonicParsing="false" onAction="#arvutaNuppVajutus" text="Arvuta" textFill="#0a0a0a">
<font>
<Font size="18.0" />
</font>
</Button>
<TextField fx:id="txtPikkus" layoutX="25.0" layoutY="36.0" promptText="Sisesta pikkus">
<font>
<Font size="18.0" />
</font>
</TextField>
<TextField fx:id="txtKaal" layoutX="25.0" layoutY="92.0" promptText="Sisesta kaal">
<font>
<Font size="18.0" />
</font>
</TextField>
<Label layoutX="35.0" layoutY="1.0" text="Arvuta päevane kaloraazh">
<font>
<Font size="18.0" />
</font>
</Label>
<ComboBox fx:id="cbValik" layoutX="23.0" layoutY="283.0" prefWidth="150.0" promptText="Eesmärk" />
<Label layoutX="27.0" layoutY="325.0" text="Päevane soovituslik kcal ja makrotoitained on:">
<font>
<Font size="18.0" />
</font>
</Label>
<Label layoutX="27.0" layoutY="352.0" text="Kcal:">
<font>
<Font size="19.0" />
</font>
</Label>
<Label layoutX="27.0" layoutY="377.0" text="Valgud:">
<font>
<Font size="19.0" />
</font>
</Label>
<Label layoutX="27.0" layoutY="403.0" text="Süsivesikud:">
<font>
<Font size="19.0" />
</font>
</Label>
<Label layoutX="27.0" layoutY="427.0" text="Rasvad:">
<font>
<Font size="19.0" />
</font>
</Label>
<Label fx:id="lblKcal" layoutX="137.0" layoutY="355.0" text="0 kcal">
<font>
<Font size="19.0" />
</font>
</Label>
<Label fx:id="lblValk" layoutX="137.0" layoutY="377.0" text="0 g">
<font>
<Font size="19.0" />
</font>
</Label>
<Label fx:id="lblSysi" layoutX="137.0" layoutY="403.0" text="0 g">
<font>
<Font size="19.0" />
</font>
</Label>
<Label fx:id="lblRasv" layoutX="137.0" layoutY="427.0" text="0 g">
<font>
<Font size="19.0" />
</font>
</Label>
<ComboBox fx:id="cbAktiivsus" layoutX="23.0" layoutY="192.0" prefWidth="150.0" promptText="Vali aktiivsus" />
<ComboBox fx:id="cbSugu" layoutX="23.0" layoutY="236.0" prefWidth="150.0" promptText="Sugu" />
<Button fx:id="btnPaevik" layoutX="23.0" layoutY="489.0" mnemonicParsing="false" onAction="#pressButton" prefHeight="56.0" prefWidth="162.0" text="Toitumispäevik">
<font>
<Font size="20.0" />
</font>
</Button>
<TextField fx:id="txtVanus" layoutX="27.0" layoutY="142.0" prefHeight="37.0" prefWidth="64.0" promptText="Vanus">
<font>
<Font size="16.0" />
</font>
</TextField>
<Label fx:id="lblVigaPikk" layoutX="254.0" layoutY="37.0" prefHeight="37.0" prefWidth="142.0" text="- " textFill="RED" />
<Label fx:id="lblVigaKaal" layoutX="254.0" layoutY="93.0" prefHeight="37.0" prefWidth="142.0" text="- " textFill="RED" />
<Label fx:id="lblVigaVanus" layoutX="102.0" layoutY="142.0" prefHeight="37.0" prefWidth="217.0" text="- " textFill="RED" />
<Label fx:id="lblVigaAktiivsus" layoutX="185.0" layoutY="186.0" prefHeight="37.0" prefWidth="205.0" text="- " textFill="RED" />
<Label fx:id="lblVigaSugu" layoutX="183.0" layoutY="233.0" prefHeight="37.0" prefWidth="205.0" text="- " textFill="RED" />
<Label fx:id="lblVigaGoal" layoutX="183.0" layoutY="277.0" prefHeight="37.0" prefWidth="120.0" text="- " textFill="RED" />
</children>
</AnchorPane>
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.text.Font?>
<AnchorPane prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1">
<children>
<HBox fx:id="hboxKAst" layoutX="38.0" layoutY="37.0" prefHeight="100.0" prefWidth="547.0">
<children>
<TextField fx:id="lisaToit" prefHeight="25.0" prefWidth="192.0" promptText="Toiduaine" />
<TextField fx:id="lisaValk" prefHeight="25.0" prefWidth="56.0" promptText="Valgud" />
<TextField fx:id="lisaSysi" prefHeight="25.0" prefWidth="90.0" promptText="Süsivesikud" />
<TextField fx:id="lisaRasv" prefHeight="25.0" prefWidth="54.0" promptText="Rasvad" />
<Button fx:id="lisaNupp" mnemonicParsing="false" prefHeight="25.0" prefWidth="131.0" text="Lisa andmebaasi" />
</children>
</HBox>
<ComboBox fx:id="cbToiduaine" layoutX="38.0" layoutY="169.0" prefWidth="150.0" promptText="Vali toiduaine" />
<TextField fx:id="txtKogus" layoutX="204.0" layoutY="169.0" prefHeight="25.0" prefWidth="112.0" promptText="Kogus grammides" />
<TableView fx:id="tbTabel" layoutX="38.0" layoutY="227.0" prefHeight="333.0" prefWidth="555.0">
<columns>
<TableColumn fx:id="tbToit" prefWidth="188.0" text="Toiduaine nimetus" />
<TableColumn fx:id="tbValk" prefWidth="85.0" text="Valgud" />
<TableColumn fx:id="tbSysi" prefWidth="81.0" text="Süsivesikud" />
<TableColumn fx:id="tbRasv" prefWidth="92.0" text="Rasvad" />
<TableColumn fx:id="tbKcal" prefWidth="104.0" text="Kalorid" />
</columns>
</TableView>
<Button fx:id="lisaMenyy" layoutX="339.0" layoutY="169.0" mnemonicParsing="false" text="Lisa menüüsse" />
<Button layoutX="636.0" layoutY="37.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="150.0" text="Toiduainete andmebaas" />
<Label layoutX="608.0" layoutY="238.0" prefHeight="45.0" prefWidth="176.0" text="Sinule vajalik kogus kaloreid ja makrotoitaineid: ">
<font>
<Font size="15.0" />
</font>
</Label>
<Label layoutX="608.0" layoutY="292.0" text="Kcal:">
<font>
<Font size="15.0" />
</font>
</Label>
<Label layoutX="608.0" layoutY="324.0" text="Valgud:">
<font>
<Font size="15.0" />
</font>
</Label>
<Label layoutX="608.0" layoutY="352.0" text="Süsivesikud:">
<font>
<Font size="15.0" />
</font>
</Label>
<Label layoutX="608.0" layoutY="385.0" text="Rasvad:">
<font>
<Font size="15.0" />
</font>
</Label>
<Label fx:id="lblCal" layoutX="658.0" layoutY="294.0" text="0 kcal" />
<Label fx:id="lblProt" layoutX="672.0" layoutY="326.0" text="0 g" />
<Label fx:id="lblCarb" layoutX="697.0" layoutY="354.0" text="0 g" />
<Label fx:id="lblFat" layoutX="672.0" layoutY="387.0" text="0 g" />
</children>
</AnchorPane>
lblCal.setText(nr.arvutaNuppVajutus.loppkcal); //Want same value for this as lblKcal or loppkcal has in "application" package.
lblCal.setText(nr.arvutaNuppVajutu());
public string arvutaNuppVajutu() {
..
return "" + lblKcal;
}